最近用ET8搞微信小游戏测试,部署到云服务器,手机上运行,必须要用https备案过得域名,客户端使用websocket创建必须要wss开头,服务端部分通过Nginx进行https通信之后转发到云服务器的内网ET服,表格配置部分如下,当前我使用端口4xxx系列,对应服务端映射之后的3xxx端口。

代码部分,C2R_LoginHandler返回给客户端连接gate的端口需要改为用RewritePort,(实际上开发模式用ws+Port,发布模式用wws+RewritePort,这部分逻辑自己写即可)

去下载Nginxnginx: download, 解压到云服务器,conf目录新建文件夹ssl,把下载的ssl证书放到这个文件夹内

编辑nginx.conf,往后面添加几个端口的代理,当前是三个,添加三个即可(分别映射30002/30003/30004),后续个人新增多个则配置也需要对应新增多个

    ##wss转换为ws    server {        listen 40002  ssl;##设置端口        server_name www.xxx.cn;##设置域名         ssl_session_timeout 5m;        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;        ssl_prefer_server_ciphers on;        ssl_certificate         ssl/xxx_bundle.crt;##crt文件路径        ssl_certificate_key     ssl/xxx.key;##密钥路径         location / {            proxy_pass http://10.0.0.0:30002;##实际访问的地址(云服务器内网地址)            proxy_http_version 1.1;            proxy_set_header Upgrade $http_upgrade;##此处Upgrade注意大小写            proxy_set_header Connection "Upgrade";            proxy_set_header Remote_addr $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_read_timeout 600s;       }    }

保存conf,重启nginx。