最近用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。