收藏
回答

WebSocket 如何使用其他端口

问题模块 框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
框架 小程序 Bug 客户端 6.6.7 2.2.1

微信小程序支持使用 WebSocket 连接到服务器,准确地说是带 SSL 的 WebSocket,而微信小程序中不允许使用带端口的 wss 连接,只能使用 443 端口。

请问在Nginx下,如何做一个代理,让443端口代理到8001端口?

感激不尽

最后一次编辑于  2018-08-01
回答关注问题邀请回答
收藏

2 个回答

  • 万里
    万里
    2019-02-08

    请问这是什么问题?

    2019-02-08
    赞同
    回复
  • LEI BOLI
    LEI BOLI
    2018-09-06

    upstream wss_svr {

    # 示例 server domain.com:8001 weight=1;

    server <您的后台:[端口]> weight=1;    
    }


    server {
    listen 443;


    # 示例 server_name domain.com

    server_name <您的域名>


    ssl on;


    # 示例 ssl_certificate /opt/certs/domain.com.cert.pem

    ssl_certificate <您的证书位置>


    # 示例 ssl_certificate_key  /opt/certs/domain.com.key.pem

    ssl_certificate_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;

    location / {
    proxy_redirect off;
    proxy_pass http://wss_svr;
    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...;
    }

    }
    将如上配置保存到/etc/nginx/conf.d/domain.conf(根据您的部署环境修改此处)

    检查配置是否规范

    /usr/sbin/nginx -t

    让nginx 重新加载配置

    /usr/sbin/nginx -s reload

    2018-09-06
    赞同
    回复 2
    • 万里
      万里
      2019-02-08

      您好,我按照您这样配置的,但是控制台返回

      我使用的nginx 配置信息如下:



      2019-02-08
      回复
    • LEI BOLI
      LEI BOLI
      2019-06-11


      这个配置了吗?或则你3721端口下的服务是否正常?

      2019-06-11
      回复
登录 后发表内容