server {
# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 域名,多个以空格分开
server_name xxx.cn www.xxx.cn;
ssl on;
# ssl证书地址
ssl_certificate /etc/ssl/xxx.cn_nginx/xxx.cn.pem; # pem文件的路径
ssl_certificate_key /etc/ssl/xxx.cn_nginx/xxx.cn.key; # key文件的路径
# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
# 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; #使用服务器端的首选算法
location / {
proxy_pass http://localhost:9904/; # 将 WebSocket 连接代理到 Netty 服务器
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /ClientPack {
proxy_pass http://127.0.0.1:904/ClientPack/;
}
}
简单点:server模块就是监听的服务(比如https就监听443,http就82等等)
location就是访问链接后面的访问地址(比如https://xxx.xxx/ClientPack)
注意: https://xxx.xxx:6798/ClientPack,加端口的和上面一样,将前端访问6798端口的代码该为443,通过nginx将消息转发至6798
是wss的配置,我的wss端口配置的是9904,所以前端将:9904去掉即可,通过nginx将监听到的消息转发至9904监听项目(前端一定要去掉:9904,不然服务端会出现乱码(别问为什么,因为血的教训))