nginx配置wss
如果websocket服务需要通过wss协议传输,一种方式是在websocket服务器进行开发,内置证书。还有一种比较简单的方式是配置在负载均衡服务器上,例如nginx。
1. 生成证书
商业证书可以购买,如果做测试,可以自己生成证书。
------------------------CA证书-------------------------------
1. 创建根证书密钥文件(自己做CA)ca.key:
openssl genrsa -des3 -out ca.key 2048
#去除密码
openssl rsa -in ca.key -out ca.key
2. 创建根证书的申请文件ca.csr:
openssl req -new -key ca.key -out ca.csr
3. 创建一个自当前日期起为期十年的根证书ca.crt【用来签名其它证书,并配置在客户端信任列表,如果开启双向验证,也需要配置在服务端】:
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.crt
------------------------Server端要下发的证书---------------------------------
4. 创建服务器证书密钥server.key:
openssl genrsa -des3 -out server.key 2048
#去除密码
openssl rsa -in server.key -out server.key
5. 创建服务器证书的申请文件server.csr:
openssl req -new -key server.key -out server.csr
6. 创建自当前日期起有效期为期两年的服务器证书server.crt【配置在服务端,将会在客户端请求时下发给客户端】:
openssl x509 -req -days 730 -sha1 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.crt
2. 配置nginx
如果要使用https协议,安装nginx的时候需要加载ssl模块,带上以下参数:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
修改nginx配置文件,添加如下代理
server {listen 443;
server_name 192.168.2.233;ssl on;
ssl_certificate /etc/server.cer; # 这里是服务端的证书路径
ssl_certificate_key /etc/server.key; # 这里是秘钥路径
ssl_session_timeout 5m;
ssl_verify_client off;location /websocket {
proxy_pass http://192.168.2.48:9031/websocket/list; #实际ws服务器地址
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
}}
之后重启nginx,通过代理路径wss://192.168.2.233/websocket就可以访问到后台的ws服务器,服务器本身不用改动。
nginx配置wss相关推荐
- Nginx配置wss访问实现微信小程序的websocket通信
WSS是Web Socket Secure的简称, 它是WebSocket的加密版本.WSS与WS类似于HTTPS和HTTP,不同之处在于是不同的通信协议,都运行在SSL(Secure Socket ...
- nginx配置wss协议
需求:nginx配置websocket协议连接,(背景,在一个使用一个免费的仅仅支持单域名的证书时,既要支持https协议,也要支持wss协议时,我们可以配置一个nginx根据不同的路径去跳转) 我所 ...
- Netty通过Nginx配置 wss 协议访问(实践可行)
先写个比较简单的,后面再写一篇Vue + springboot +netty Netty在互联网以及物联网公司用的很多,底层走的还是 websocket协议,好处很多,就不一一列了,相关的文章很多,大 ...
- 宝塔 nginx配置 wss
server { listen 80; listen 443 ssl http2; server_name hwpt.doov5g.com; index index.p ...
- 宝塔nginx配置wss协议
如下图所示 location /wss{proxy_pass http://127.0.0.1:12590;proxy_http_version 1.1;proxy_set_header Upgrad ...
- nginx websocket wss 连接失败 failed_Nginx 配置WSS 解析与实战
Nginx 配置WSS 解析与实战 1. 几个关键概念 1.1 WebSocket WebSocket 协议是 html5 的一种通信协议,该协议兼容我们常用的浏览器.例如:Chrome.Firefo ...
- Nginx配置WS、WSS域名
文章目录 一.Nginx配置WS 二.Nginx配置WSS 一.Nginx配置WS WS的全称是WebSocket,Nginx配置WebSocket也比较简单,只需要在nginx.conf文件中进行相 ...
- Nginx配置https和wss
微信小程序不仅要求必须是HTTPS和WSS,还要求URL里不能有端口号. 一.使用Nginx足够了 常见的服务器有三种: Nginx IIS Apache 这三种服务器都可以配置https,但是没必要 ...
- Nginx配置WebSocket 【支持wss与ws连接】
一.对wss与nginx代理wss的理解: 1.wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL). 2.利用nginx代理ws ...
最新文章
- 机器学习狗太苦逼了!自动化调参哪家强?
- 前沿科技 | 中科院科学家在视觉学习行为的神经机制研究中取得进展
- centos vim 安装插件本质研究
- 车主无忧:为什么放弃开源Kafka?
- 如何将Wav文件做到EXE文件里
- C#读写txt文件的两种方法介绍
- Windows 11 快速体验:开始菜单居中,全系圆角设计!
- 从qq服务器删除误收邮件,如何恢复从qq邮箱删除的电子邮件
- springboot整合minio最新版
- Pyqt 打开外部链接的几种方法
- python3.5安装教程及环境配置_Python安装和环境配置教程
- jquerymobile多页面切换
- 雷蛇灯光配置文件_突破极限!Razer雷蛇发布高性能V2版炼狱蝰蛇和巴塞利斯蛇...
- php 标点符号,php怎么去除标点符号
- 极度干货——GitHub受欢迎的Android UI Library整理
- 计算机单位-字节到底是什么?(小白简单易懂)
- LDT面试:实验室开发诊断试剂监管模式(Laboratory Developed Test,LDT)
- 关于nginx配置负载均衡,nginx.conf配置文件正确,一直跳出nginx欢迎界面
- 对指定网站渗透的一些总结
- ABAP使用LOOP AT ASSIGNING FIELD SYMBOL直接更新内表数据
热门文章
- 局域网里如何访问wifi路由器下的设备?
- JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
- 腾讯一面,发现自己就是个渣渣
- 蓝色基因超级计算机玩仙剑6,世界上最快的计算机——蓝色基因超级计算机
- Lua快速入门篇(基础概述)(Yanlz+toLua+xLua)
- kafka系列之Coordinator(14)
- Forecasting: Principles and Practice读书笔记Chapter 3
- 丰巢快递柜收费,究竟挑动了我们哪根神经?
- 【开发日志-已归档】2021-11
- 大众点评网的网站架构