问题描述:
通常开发websocket程序,都会有个指定端口,客户端采用直连的方式,一般会将服务器端口暴露在外,这样不够优雅也不安全。通常会使用nginx代理websocket提供对外服务。
配置
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server{
listen 80;
listen 443;
server_name www.test.com;
...
...
# 代理 ws 服务器
location ~ /chat/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:20003; # 代理的端口
}
}
网友评论