无法预览' Hello World'在aws cloud9 c9 python flask中应用

时间:2018-04-16 18:42:49

标签: python amazon-web-services flask cloud9-ide aws-cloud9

我无法使用AWS Cloud9(c9)python flask预览此应用程序:

from flask import Flask
import os
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

host = 'localhost' # '0.0.0.0' #"127.0.0.1" # I tried all of these ip's

if __name__ == '__main__':
    app.debug = True
    port = int(os.environ.get("PORT", 8080)) # I also tried port was 5000
    app.run(host=host, port=port)

# This is the error I got 52.15.73.96 The connection has timed out
#The server at 52.15.73.96 is taking too long to respond.

这类似于AWS cloud9 timeout when running flask application

3 个答案:

答案 0 :(得分:1)

您需要使用端口0.0.0.0(或其他可用的C9端口)在8080中运行您的服务器。

app.run()命令更改为以下内容:

app.run(host='0.0.0.0', port=8080, debug=True)

如果 8080 不起作用,请尝试 80

答案 1 :(得分:1)

答案是:您必须通过AWS防火墙。 你必须

  1. 进入EC2(从所有AWS服务列表中)
  2. 点击安全组
  3. 点击您的Cloud9实例
  4. 点击入境
  5. 点击修改
  6. 点击添加规则
  7. 添加此规则:

    • 对于“类型”,选择“自定义TCP规则”。 - 所有交通也有效。
    • 对于端口范围,键入8080,8081或8082. - 如果您执行了“所有流量”,则默认为所有端口。
    • 对于Source,选择Anywhere,其外观类似于0.0.0.0/0

    以下是屏幕截图链接:https://imgur.com/a/zhQbA

  8. AWS在其C9文档中确实拥有此功能。 https://docs.aws.amazon.com/cloud9/latest/user-guide/app-preview.html#app-preview-share-security-group 在“通过Internet共享正在运行的应用程序”中,步骤2:为实例设置安全组

答案 2 :(得分:0)

flask run --host=127.0.0.1 --port=8080