繁体   English   中英

AWS Elastic Beanstalk 部署错误:502 错误网关

AWS Elastic Beanstalk Deployment Error: 502 Bad Gateway

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试将本地开发的 Web 应用程序部署为 aws 实例。 该应用程序基于 web,带有 node.js 后端。 我使用 aws 的 Elastic Beanstalk 上传了该应用程序,该应用程序非常简单且运行良好。 部署完成后,我收到了绿色健康检查标记。

但是,当我选择仪表板顶部的 url 来打开我新部署的应用程序时,我收到了“502 Bad Gateway”错误。 我进行了谷歌搜索,以确定错误是什么以及如何纠正它,但没有取得多大成功。 大多数建议是刷新页面,它会以某种方式“自行”消失。 它没有。 我还通读了 Elastic Beanstalk war - 502 Bad Gateway stackoverflow 问题,但也没有取得多大成功。

这是我从 aws 下载的 error.log 的输出:

2018/10/11 15:04:24 [error] 2946#0: *231 connect() failed (111: 
Connection refused) while connecting to upstream, client: 172.31.88.17, 
server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", 
host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com"
2018/10/11 15:04:24 [error] 2946#0: *231 connect() failed (111: 
Connection refused) while connecting to upstream, client: 172.31.88.17, 
server: , request: "GET /favicon.ico HTTP/1.1", upstream: 
"http://127.0.0.1:8081/favicon.ico", host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com", referrer: "http://sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com/"
2018/10/11 15:05:13 [error] 2946#0: *231 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.88.17, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com"
2018/10/11 15:05:13 [error] 2946#0: *231 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.88.17, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8081/favicon.ico", host: "sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com", referrer: "http://sowapp-env.bpcts5p34k.us-east-1.elasticbeanstalk.com/"

我还下载了 nodejs.log,它似乎表明 aws 服务器没有指向启动文件 server.js。

Error: Cannot find module '/var/app/current/system.js'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.runMain (module.js:611:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:160:9)
at bootstrap_node.js:507:3
module.js:478
throw err;

建议表示赞赏。

谢谢...

2 个回复

我会试试这个。 在您上传到弹性 beantalk 的源中设置一个文件夹,名为 .ebextensions 在此处创建文件以设置您的源并设置您的应用程序。

一个示例是创建一个名为 node-settings.config 的文件(以运行您的应用程序需要初始化的任何 npm 命令)示例 \\/ 来自链接:

option_settings:
  aws:elasticbeanstalk:container:nodejs: 
    NodeCommand: "npm start"
    ProxyServer: apache
    GzipCompression: true
  aws:elasticbeanstalk:container:nodejs:staticfiles:
    /images: myimages

这是显示您可以在此文件(nodejs)中设置为平台特定选项的链接: https ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-specific.html

就我而言,我尝试将 node.js 端口更改为 8081 并在本地分支上提交。 此后从命令行部署进行eb deploy解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM