通过配置使Nginx支持websocket代理。
一、http配置
配置map模块。
http {
include /etc/nginx/;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/ main;
sendfile on;
keepalive_timeout 65;
client_max_body_size 600m;
#增加一下配置
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
include /etc/nginx//*.conf;
}
二、location配置
设置Upgrade和Connection两个消息头。
location / {
#增加以下两行配置
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://xxx:8080;
}