我们正在尝试在Nginx后面的Debian服务器上运行Meteor应用程序.应用程序正在运行,但http://url/sockjs?info?cb=[random_string]
返回时请求GET 502 Bad Gateway
.
Nginx配置如下设置:
# this section is needed to proxy web-socket connections map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream app_server { server 127.0.0.1:3000; # for a web port socket (we'll use this first) # server unix:/var/run/app/app.sock; } server { listen 80; server_name app_server.com; charset utf-8; client_max_body_size 75M; access_log /var/log/nginx/app.access.log; error_log /var/log/nginx/app.error.log; location / { proxy_pass http://app_server; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP proxy_read_timeout 60s; keepalive_timeout 65; proxy_redirect off; # the root path (/) MUST NOT be cached if ($uri != '/') { expires 30d; } } }
我们已经尝试了各种配置,无法确定故障所在.使用nginx的Meteor WebSocket握手错误400的解决方案也不起作用.
编辑:尝试在meteor的推荐nginx配置中找到以下配置,它仍然返回502.
编辑:当不从Meteor CFS获取图像时,应用程序正常工作,Meteor CFS用于通过管理仪表板存储上传的图像.加载图像时,对域/ sockjs/img_location/cb/xhr_send的POST会导致502错误.