Nginx 反向代理 配置 微信小程序WSS 环境
?
1. 首先你得确认 你的域名是否已经绑定服务器
2. 下载 Nginx 并解压到 云服务器 或者 虚拟机中
3. 验证 Nginx是否运行正常 在云服务器上 浏览器里运行
正常情况下 你可以看到 Nginx的 欢迎界面
Nginx 启动失败 如何解决
4. 申请SSL证书 以腾讯云为例
申请SSL证书流程略过
申请证书完成后 下载证书
将证书压缩包解压后 复制里面的Nginx文件夹 拖到云服务器中的 Nginx解压目录 conf 文件夹下
4.配置Nginx
修改nginx/conf/nginx.conf文件
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8090;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# HTTPS server
#
upstream gameserver{
server 127.0.0.1:9443 weight=1;
}
server{
listen 443 ssl;
server_name www.xxx.com; #填写绑定证书的域名
ssl on;
ssl_certificate .crt证书文件路径;
ssl_certificate_key .key证书文件路径;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #按照这个套件配置
ssl_prefer_server_ciphers on;
#微信小游戏
location / {
#limit_req zone=allips burst=5 nodelay;
#limit_req zone=allips burst=1 nodelay;
proxy_pass http://gameserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
}
重启动代理 在Nginx根目录下 打开命令行 输入 nginx -s reload
5.修改 客户端连接地址
不需要 修改 服务器代码
客户端这边 只需要修改成套接字的连接方式为 服务器地址 wss + 域名 + 443
6.本篇案例
本篇 客户端Socket的地址是 wss://www.xxxx.com:443
本篇 服务器的Socket的端口设置为9443 一般你服务器只需要填写一个端口信息 那么在本机访问地址就是 127.0.0.1:9443
本篇用Nginx 监听 wss://www.xxxx.com:443 Socket消息 和 来自 https://www.xxxx.com:443 的http请求 将事件消息转发到本地 127.0.0.1:9443地址
服务器全程不进行任何修改操作
客户端 由之前的请求地址 ws://47.102.7.111:9443 改为了 wss://www.xxxx.com:443
在本次案例中 Nginx 起到了一个 转发站的作用 将 wss://www.xxxx.com:443 和 127.0.0.1:9443 之间的消息转发
?