本文介绍了502使用ExpressJS与nginx时网关不良的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我运行我的expressjs应用程序: coffee server.coffee
并导航到 localhost:8080
,一切工作很好。
If I run my expressjs app like so: coffee server.coffee
and navigate to localhost:8080
, everything works just fine.
然而,当我用nginx反向代理8080时,配置如下:
However, when I reverse proxy 8080 with nginx with the following configuration:
server {
listen 0.0.0.0:80;
server_name localhost;
access_log /var/log/nginx/nodetest.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://node/;
proxy_redirect off;
}
}
upstream node {
server 127.0.0.1:8080;
}
Chrome开发者控制台中出现以下错误:
I get the following error in the Chrome Dev console:
GET http://184.73.217.204/socket.io/xhr-polling//1300750540040 502(坏网关)
以及在nginx的 error.log中的以下内容
2011/03/22 13:07:59 [error] 10269#0: *18 upstream prematurely closed connection while
reading response header from upstream, client: 168.229.58.68, server: localhost,
request: "GET /socket.io/xhr-polling//1300799281533 HTTP/1.1", upstream:
"http://127.0.0.1:8080/socket.io/xhr-polling/1300799281533", host: "184.73.217.204",
referrer: "http://184.73.217.204/"
任何指导感谢!
推荐答案
尝试这个补丁...
-proxy_pass http://node/;
+proxy_pass http://node;
这篇关于502使用ExpressJS与nginx时网关不良的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!