如果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相关推荐

  1. Nginx配置wss访问实现微信小程序的websocket通信

    WSS是Web Socket Secure的简称, 它是WebSocket的加密版本.WSS与WS类似于HTTPS和HTTP,不同之处在于是不同的通信协议,都运行在SSL(Secure Socket ...

  2. nginx配置wss协议

    需求:nginx配置websocket协议连接,(背景,在一个使用一个免费的仅仅支持单域名的证书时,既要支持https协议,也要支持wss协议时,我们可以配置一个nginx根据不同的路径去跳转) 我所 ...

  3. Netty通过Nginx配置 wss 协议访问(实践可行)

    先写个比较简单的,后面再写一篇Vue + springboot +netty Netty在互联网以及物联网公司用的很多,底层走的还是 websocket协议,好处很多,就不一一列了,相关的文章很多,大 ...

  4. 宝塔 nginx配置 wss

    server {     listen 80;     listen 443 ssl http2;     server_name hwpt.doov5g.com;     index index.p ...

  5. 宝塔nginx配置wss协议

    如下图所示 location /wss{proxy_pass http://127.0.0.1:12590;proxy_http_version 1.1;proxy_set_header Upgrad ...

  6. nginx websocket wss 连接失败 failed_Nginx 配置WSS 解析与实战

    Nginx 配置WSS 解析与实战 1. 几个关键概念 1.1 WebSocket WebSocket 协议是 html5 的一种通信协议,该协议兼容我们常用的浏览器.例如:Chrome.Firefo ...

  7. Nginx配置WS、WSS域名

    文章目录 一.Nginx配置WS 二.Nginx配置WSS 一.Nginx配置WS WS的全称是WebSocket,Nginx配置WebSocket也比较简单,只需要在nginx.conf文件中进行相 ...

  8. Nginx配置https和wss

    微信小程序不仅要求必须是HTTPS和WSS,还要求URL里不能有端口号. 一.使用Nginx足够了 常见的服务器有三种: Nginx IIS Apache 这三种服务器都可以配置https,但是没必要 ...

  9. Nginx配置WebSocket 【支持wss与ws连接】

    一.对wss与nginx代理wss的理解: 1.wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL). 2.利用nginx代理ws ...

最新文章

  1. 机器学习狗太苦逼了!自动化调参哪家强?
  2. 前沿科技 | 中科院科学家在视觉学习行为的神经机制研究中取得进展
  3. centos vim 安装插件本质研究
  4. 车主无忧:为什么放弃开源Kafka?
  5. 如何将Wav文件做到EXE文件里
  6. C#读写txt文件的两种方法介绍
  7. Windows 11 快速体验:开始菜单居中,全系圆角设计!
  8. 从qq服务器删除误收邮件,如何恢复从qq邮箱删除的电子邮件
  9. springboot整合minio最新版
  10. Pyqt 打开外部链接的几种方法
  11. python3.5安装教程及环境配置_Python安装和环境配置教程
  12. jquerymobile多页面切换
  13. 雷蛇灯光配置文件_突破极限!Razer雷蛇发布高性能V2版炼狱蝰蛇和巴塞利斯蛇...
  14. php 标点符号,php怎么去除标点符号
  15. 极度干货——GitHub受欢迎的Android UI Library整理
  16. 计算机单位-字节到底是什么?(小白简单易懂)
  17. LDT面试:实验室开发诊断试剂监管模式(Laboratory Developed Test,LDT)
  18. 关于nginx配置负载均衡,nginx.conf配置文件正确,一直跳出nginx欢迎界面
  19. 对指定网站渗透的一些总结
  20. ABAP使用LOOP AT ASSIGNING FIELD SYMBOL直接更新内表数据

热门文章

  1. 局域网里如何访问wifi路由器下的设备?
  2. JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
  3. 腾讯一面,发现自己就是个渣渣
  4. 蓝色基因超级计算机玩仙剑6,世界上最快的计算机——蓝色基因超级计算机
  5. Lua快速入门篇(基础概述)(Yanlz+toLua+xLua)
  6. kafka系列之Coordinator(14)
  7. Forecasting: Principles and Practice读书笔记Chapter 3
  8. 丰巢快递柜收费,究竟挑动了我们哪根神经?
  9. 【开发日志-已归档】2021-11
  10. 大众点评网的网站架构