【问题标题】:Flask server running using private ip on AWS在 AWS 上使用私有 ip 运行的 Flask 服务器
【发布时间】:2021-05-24 20:29:31
【问题描述】:

我在基本主机和端口上运行我的服务器

self.app.run(host='0.0.0.0')

服务器已在 172.31.26.176:5000 上运行,但我的私有 AWS ip 和页面未加载。 如果我选择端口 (16324) 服务器使用我的端口运行,但页面也未加载。 如果我使用我的公共 AWS ip 我会出错。

OSError: [Errno 99] 无法分配请求的地址

这是我的第一台服务器。在本地机器上他工作正常。

【问题讨论】:

  • 您的 AWS 服务器的端口是否对外开放?
  • 对不起,我不明白如何

标签: python amazon-web-services flask server


【解决方案1】:
  1. 检查您的子网的路由表并确保其中添加了到 Internet (IGW) 的路由。
  2. 检查您的 EC2 的安全组并确保您的烧瓶端口允许入站流量。

然后运行应用程序并在浏览器中点击 YOUR_AWS_EC2_PUBLIC_IP:5000。

OSError: [Errno 99] 无法分配请求的地址

这个错误可能是因为请求的端口/IP 已经被占用了。检查烧瓶应用程序是否已经在您请求的地址上运行:端口

【讨论】:

  • 请告诉我应该在这里写什么Imgur。这是默认安全组Imgur。还有,我应该为烧瓶提供什么类型的地址
  • 在路由表中添加 0.0.0.0/0 作为目的地并在目标中选择您的 IGW。安全组不需要修改,因为它允许所有流量到所有端口。但这不是最佳做法。并注册您的最后一个问题,如果您想在 EC2 的所有 IP(私有、公共和环回)上收听烧瓶,请放置 0.0.0.0。如果您只需要公共 IP,则放置您的公共 IP。参考stackoverflow.com/questions/67545262/…
  • 谢谢。首先我做你们所有人说的。但这对我没有帮助。我删除了所有规则和更改,并从头开始,它起作用了。谢谢
  • 我遇到了同样的问题... 1. 我的路由表目标为“0.0.0.0/0”,目标为 IGW。 2. 我正在使用的端口上允许入站流量 (TCP) 但是,当使用以下代码运行python app.py 时,它仍在我的 EC2 实例的私有 IP 地址上运行。 ``` if name == 'main': app.run(host='0.0.0.0', port=8080) ``` 还有其他想法吗?跨度>
  • 是否为您的 EC2 分配了公共 IP?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 2021-02-21
相关资源
最近更新 更多