今天遇到一个问题,分享一下
问题
用flask编写的web项目部署在内网服务器上,用内网计算机输入地址可以直接访问到,把项目部署在云服务器上却访问不到了
以前的经验(阿里云服务器)
以前合作项目,在阿里云的服务器上遇到过项目启动正常,但是无法从外网上访问到项目。
因为当时负责的部分只是部署项目,服务器是别人管理的,没有实际操作。听别人说当时是因为阿里云服务器上需要启动公网端口,启动后就可以访问了。
这次的问题(腾讯云服务器)
这次在腾讯云的服务器上遇到了相似的问题。
但是,进入腾讯云的安全组发现端口是全部默认启动的。
找到最终原因是,项目的host应该填写服务器的内网地址,不填写时默认是0.0.0.0
,但在云服务器上不能代表本机地址。
在flask代码中修改
app.run(host='123.123.123.123') # 这里填服务器内网地址
再运行就可以访问到了。