无法在AWS Cloud9中预览Python Flask 'Hello World'应用
解决AWS Cloud9中Flask应用预览超时的问题
嘿,这个问题我之前在Cloud9上也踩过坑!核心原因就是你绑定的主机地址不对,Cloud9的特殊环境需要针对性调整才能让预览功能访问到你的Flask服务。
问题根源
当你把host设为localhost或者127.0.0.1时,Flask只会监听虚拟机的回环网卡——这意味着只有虚拟机内部能访问这个服务,而Cloud9的预览功能是从AWS的外部服务连接到你的虚拟机,自然就会出现连接超时的情况。
修复步骤
- 修改主机地址:必须把
host改成0.0.0.0,这样Flask会监听虚拟机上所有可用的网卡,外部请求(包括Cloud9预览)才能正常连接。 - 保留默认端口设置:Cloud9会自动设置
PORT环境变量,用int(os.environ.get("PORT", 8080))就好,不用改成5000,8080是Cloud9开放的默认端口,兼容性最好。
修改后的完整代码:
from flask import Flask import os app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" # 关键:绑定0.0.0.0允许外部访问 host = '0.0.0.0' if __name__ == '__main__': app.debug = True port = int(os.environ.get("PORT", 8080)) app.run(host=host, port=port)
正确预览方式
运行代码后,你可以通过两种方式打开预览:
- 代码启动后,Cloud9会自动弹出对话框,点击
Open Preview就能直接访问; - 如果没弹出对话框,点击顶部菜单栏的
Preview->Preview Running Application,就能看到你的Flask应用了。
额外提醒
- 调试模式
app.debug = True在开发时用着没问题,但如果要部署生产环境记得关掉; - 不要手动修改Cloud9生成的预览URL,它已经自动映射到你的服务端口,直接用就行。
内容的提问来源于stack exchange,提问作者hlindwin
相关产品推荐
相关产品推荐

