巴拉巴拉
小魔仙

利用nginx将ws协议升级为wss协议

微信小程序当中支持websocket,但是微信小程序必须使用wss协议。

假如我们用netty实现了一个ws协议,那么我们可以利用nginx来升级一下ws协议,变为wss协议。

简单的来说,ws → wss 相当于 http → https

所以,wss其实也就是加了证书认证的ws

首先我们需要一个证书,我这里用的是腾讯云申请的免费证书,申请完成后可以下载nginx用的证书。

因为我linux服务器用的腾讯云的,( 1元学生机:D😂 ),所以我就图方便申请了免费的腾讯云证书。

当然你也可以申请阿里云的免费证书。阿里云的免费证书申请可以参考帖子:阿里云虚拟 WordPress HTTPS(SSL)CDN

nginx配置方法可以参考帖子:多个Tomcat服务器+Nginx负载均衡

#
# The default server
#

upstream wxappwss{
        #websocket后台实际地址
    server localhost:7979;
}
server{
    listen 7878;
    ssl on;
    ssl_certificate conf.d/againfly.crt;
    ssl_certificate_key  conf.d/againfly.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
    ssl_prefer_server_ciphers on; 
    server_name zk.againfly.com:7878;
    location / {
            proxy_pass http://wxappwss;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-real-ip $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
      }
}

配置已经吧关键行都标亮啦,各位看官加油,如果遇到什么问题可以直接联系我或者评论,如果你通过本文完成了你的需求,欢迎你也在本文评论哟,给其他人一些帮助👍

赞(2) 打赏
如果文章对你有帮助,欢迎你来评价反馈。AgainFly » 利用nginx将ws协议升级为wss协议
标签:

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • Q Q(选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏