Dar*_*der 1 amazon-ec2 flask aws-security-group
我有一个 Flask 应用程序,我将其部署在 EC2 实例上。该应用程序启动得很好:
ubuntu@ip-something:~/webservices$ python service/texting_service.py
* Serving Flask app "texting_service" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 146-396-474
Run Code Online (Sandbox Code Playgroud)
当我ssh进入此 EC2 实例并使用 调用该服务时localhost,它会返回预期的响应。但是,当我尝试使用实例的公共 IP 地址从 EC2 实例外部调用此服务时,我看到以下错误:
curl: (7) Failed to connect to ec2.instance.ip.address port 8080: Connection refused
Run Code Online (Sandbox Code Playgroud)
我确认我已打开8080附加到此 EC2 实例的安全组的入口端口。我缺少什么?
我想到了。如果函数中没有传递host带值的参数,则应用程序外部不可见。执行以下操作解决了我的问题:0.0.0.0app.run()
if __name__ == '__main__':
app.run(host='0.0.0.0')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2181 次 |
| 最近记录: |