[英]502 bad gateway Nginx Node on AWS ElasticBeanstalk
我已經閱讀了很多有關解決此問題的帖子,但是到目前為止,沒有任何效果,我沒有想法。
我有一個Express Generator應用程序,在本地運行良好,不在AWS Elastic Beanstalk站點上運行一次。
EB作為單個實例運行,安全組允許PORT 80 tcp從0.0.0.0/0起,其余都是默認的EB配置(ip表,nginx conf等)
這是我必須去的地方...
1)將node命令設置為npm start
以確保它運行而不是app.js
2)更新了EC2 env PATH
以向其添加當前node
/ npm
3)確保節點端口正在作為8081運行
4)檢查的節點實際上運行正常(在該框上,我可以成功通過IP和Elastic beantalk ULR進行CURL設置)
但是從盒子外面,彈性beanstalk url返回此錯誤502。
2015/07/07 21:54:59 [error] 7883#0: *4 connect() failed (111: Connection refused) while connecting to upstream, client: 94.174.20.81, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "ae-prod.elasticbeanstalk.com", referrer: "http://ae-prod.elasticbeanstalk.com/"
Nginx配置
upstream nodejs {
server 127.0.0.1:8081;
keepalive 256;
}
server {
listen 8080;
location / {
proxy_pass http://nodejs;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
盒子上的IP表如下所示。
$sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
任何人有任何想法嗎?
我遇到了同樣的問題,結果是我的節點應用程序由於缺少依賴項而無法啟動。 檢查主機上是否正在運行nodejs或npm進程。 如果不去
/var/app/current
並嘗試通過npm start
手動啟動您的應用npm start
。 如果它在啟動時引發錯誤或無法啟動,則可能是502的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.