【发布时间】:2021-04-23 05:03:39
【问题描述】:
我正在努力弄清楚如何连接到托管在 AWS EC2 实例上的 Flask 应用程序。它正在运行和部署,但我收到以下错误。
connect() failed (111: Connection refused) while connecting to upstream, client: 71.228.155.185, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8000/favicon.ico", host: "my-site***", referrer: "my-site***"
我已经看到了关于确保我的应用程序指向端口 8000 的类似问题的其他答案,因此我在初始化时有以下内容。
if __name__ == "__main__":
application.run(host='127.0.0.1', port=8000)
我还进入了我的 VPC 安全组,并确保端口 80 上允许所有 HTTP 连接,我认为这应该使我能够连接。
还有其他人发现这个问题并解决了吗?
【问题讨论】:
-
这意味着 nginx 无法连接到烧瓶应用服务器。检查应用程序日志,可能由于某些错误而无法启动
-
如果你ssh到实例,你能确认你的flask在
http://127.0.0.1:8000运行时curl它吗? -
我确认该应用程序正在日志中运行。我会尝试 curl 看看是否有效
-
检查 AWS VPC 流日志。 stackoverflow.com/a/65341085/14843902
-
确认我可以从 SSH 中启动和停止应用程序,但无法从外部访问它。尝试使用可达性分析器,它显示它是可达的,所以不知道下一步该做什么。是否有我应该处理的 nginx 或 wsgi 配置文件?亚马逊文档说 nginx 自动传递到端口 5000,所以尝试切换到该端口,但仍然没有
标签: amazon-web-services nginx flask amazon-ec2 amazon-elastic-beanstalk