加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

【Linux】采用nginx反向代理让websocket 支持 wss

发布时间:2020-12-13 23:45:42 所属栏目:Linux 来源:网络整理
导读:背景:玩swoole 服务? 使用Nginx反向代理解决wss问题。 即客户端通过wss协议连接? Nginx ?然后? Nginx ?通过ws协议和server通讯。?也就是说Nginx负责通讯加解密,Nginx到server是明文的,swoole?服务不用开启ssl,而且还能隐藏服务器端口和负载均衡(何乐不为

背景:玩swoole 服务?

使用Nginx反向代理解决wss问题。

即客户端通过wss协议连接?Nginx?然后?Nginx?通过ws协议和server通讯。?也就是说Nginx负责通讯加解密,Nginx到server是明文的,swoole?服务不用开启ssl,而且还能隐藏服务器端口和负载均衡(何乐不为)。

server {

    # 下面这个部分和你https的配置没有什么区别,如果你是 宝塔 或者是 oneinstack 这里用生成的也是没有任何问题的
    listen 443;
    server_name 这里是你申请的域名;

    ssl on;

    # 这里是你申请域名对应的证书(一定要注意路径的问题,建议绝对路径)
    ssl_certificate 你的证书.crt;
    ssl_certificate_key 你的密匙.key;

    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
    ssl_verify_client off;

    # 下面这个部分其实就是反向代理 如果你是 宝塔 或者是 oneinstack 请把你后续检查.php相关的 和重写index.php的部分删除
    location / {
        proxy_redirect off;
        proxy_pass http://127.0.0.1:9501;      # 转发到你本地的9501端口 这里要根据你的业务情况填写 谢谢
        proxy_set_header Host $host;
        proxy_set_header X-Real_IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;   # 升级协议头
        proxy_set_header Connection upgrade;
    }
}

?

重启nginx?

?

服务地址输入wss://你上面的域名不加端口号

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读