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


    背景:玩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://你上面的域名不加端口号

  • 相关阅读:
    python 环境常用指令(updating...)
    English Voice of <<Take Me To Your Heart>>
    English trip V2-B 1 What's on the Menu? 菜单上有什么? Teacher:Tom
    VM-ESXI 相关常用命令(Updateing)
    English trip EM2- LP 5B Eating Right 正确的饮食 Teacher:Gabi
    (转)Linux中的screen命令使用
    Centos7 密码遗忘-单用户模式
    数据集
    SVD 实现
    网易音乐推荐原理及算法
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/11072726.html
Copyright © 2020-2023  润新知