1
我有一个WebSocket的,它位于下的应用程序:nginx的配置作为代理的WebSocket的
http://localhost:8888/something/ws
我想使用nginx作为代理,但连接的转发不起作用。这是我的配置文件:
upstream backend {
server 127.0.0.1:8888;
}
server {
listen 80;
server_name localhost;
location/{
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://backend;
proxy_next_upstream error;
}
location /something/ws {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
什么是故障。我必须重写路径还是其他的东西?
UPDATE
的Ubuntu 12.04。附带nginx 1.1。 nginx的升级到1.6之前,我不得不删除nginx的常见和nginx的满,太,否则nginx的1.1重新安装...
我相信你应该问服务器故障 – demas
@demas不一定这个问题,请参阅[是否有关web服务器配置文件的问题和重写规则的话题?](http://meta.stackoverflow.com/a/262746/ 456814)。 –
我在serverfault上发现了类似的问题,但我不确定这是否是解决方案:http://serverfault.com/questions/482026/nginx-not-proxying-websockets-properly – eatdas