美文网首页
WS转WSS协议

WS转WSS协议

作者: 廖宇亮 | 来源:发表于2020-05-18 17:45 被阅读0次

1、场景

在微信小程序的直播室里实现即时聊天功能,通过简单的websocket实现实时通讯,一开始使用的协议是ws://。后来因为微信小程序只支持wss协议,所以需要转为wss协议实现websocket连接。

2、前提

要完成转wss协议,需要的步骤:1、申请一个域名;2、一台公网服务;3、域名绑定;4、为域名申请SSL证书;5、配置Nginx代理。
前面的三步已经完成。

3、为域名申请SSL证书,使用的是腾讯云

3.1、云产品->SSL证书,选择免费证书

image.png

3.2、输入通用名称和申请邮箱,通用名称就是你的域名,申请邮箱就是你申请域名时使用的邮箱

image.png

3.3、选择自动DNS验证,然后确认申请

4、配置Nginx代理实现WS转WSS协议

4.1、nginx引入SSL这模块,如果没有引入会报nginx:[emerg]unknown directive ssl这个错误提示

4.1.1、进入nginx解压目录,执行./configure --with-http_ssl_module命令,添加SSL模块

4.1.2、执行make命令重新编译

4.1.3、在我们执行完做命令后,我们可以查看到在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。

例如:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx

4.2、配置HTTPS server

server {
         listen       443;
         server_name  zyzhuiyi.xyz;
     
     ssl    on;
         ssl_certificate      /etc/nginx/1_zyzhuiyi.xyz_bundle.crt;
         ssl_certificate_key  /etc/nginx/2_zyzhuiyi.xyz.key;

         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;

         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;

         location /wss {
             proxy_pass http://websocket/;
         proxy_read_timeout 60s;
             proxy_set_header Host $host;
             proxy_set_header X-Real_IP $remote_addr;
             proxy_set_header X-Forwarded-for $remote_addr;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection 'Upgrade';
         }
     }
upstream websocket {
        server zyzhuiyi.xyz:8888;  #这里可以是多个服务端IP(分多行),设置权重就可以实现负载均衡了
    }   

相关文章

  • WS转WSS协议

    1、场景 在微信小程序的直播室里实现即时聊天功能,通过简单的websocket实现实时通讯,一开始使用的协议是ws...

  • 一次在workerman下从部署ws到wss的过程

    ws,也就是websocket啦,那么wss什么呢? wss协议实际是websocket+SSL,就是在webso...

  • 三、wss连接B站弹幕

    环境 ws4py+ 一、websocket协议 先与wss://broadcastlv.chat.bilibili...

  • Jmeter 压测 WebSocket

      有过Socket相关开发经验的人应该都不会陌生,ws协议就是WebSocket协议,而wss对应就是在SSL上...

  • 前端面试问题集合

    0 HTML5相关 websocket WebSocket 使用ws或wss协议,Websocket是一个持久化的...

  • 网站升级HTTPS后WebSocket不能连接的问题

    前端将ws:/修改为wss:/ ngnix增加如下配置 location /wss/ { proxy_pass...

  • WebSocket

    是什么? WebSocket是一种网络通信协议。类似Socket的TCP长连接通讯模式。以ws://或wss://...

  • WebSocket

    varws = newWebSocket("wss://echo.websocket.org"); ws.onop...

  • netty websocket wss服务

    最简单提供wss服务的方法,就是使用netty的ws服务,而不是sslhandler,使用nginx代理wss即可...

  • Websocket直接域名连接

    Websocket使用 ws 或 wss 的统一资源标志符,类似于 HTTP 或 HTTPS,其中 wss 表示在...

网友评论

      本文标题:WS转WSS协议

      本文链接:https://www.haomeiwen.com/subject/dfpkgctx.html