####ngix+websockt 实现消息推送
ngix要支持转发websockt配置
http {
upstream gateway{
server bmp-gateway:10010;
}
#websockt的支持
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
include mime.types;
default_type application/octet-stream;
sendfile on;
proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;
keepalive_timeout 65;
gzip on;
server {
listen 80;
proxy_set_header Host $host:$proxy_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#ngix 代理websocket配置
location /websocket/ {
proxy_pass http://gateway/websocket/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
其中主要配置
#websockt的支持
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
这个在只有ngix代理的情况下可用,但是我们公司项目网管会配置防火墙信息,在我线下测试环境没有问题的情况下线上websockt连接不了,先到这儿