如何配置 nginx 转发 ws wss
问题
我有一个 ws 项目,地址在 ws://localhost:9999
现在我需要使用 nginx 将它转发到 wss://kylebing.cn/ws
上
nginx 配置
假设你已经使用 nginx 配置好了 https,也就是我的情况,来说一下如何转发 ws 到 wss
我服务器的 nginx 配置有两个文件 default.conf
和 https.conf
,配置 https.conf
文件,添加如下内容,在 server 的外层添加
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream ws_server {
server localhost:9999;
}
在 443 的内层添加 location /ws
这个内容
server {
listen 443 ssl;
server_name kylebing.cn;
# 此处省略其它一些配置...
location /ws {
proxy_pass http://ws_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
这样重启服务,就能转发 ws://kylebing.cn:9999
的服务到 wss://kylebing.cn/ws
了