问题描述
我将准备好的Flask项目上载到Windows计算机的服务器。我可以在远程连接的计算机上通过localhost运行项目。但是我被要求从任何具有远程计算机IP和端口地址的计算机上访问该项目。我该怎么办?
解决方法
您需要通过以下方式告诉flask在所有接口上运行:
flask run -h 0.0.0.0
或者,如果您是通过app.run
启动的,请提供host参数:
if __name__ == '__main__':
app.run(host='0.0.0.0')
当然,如果您的计算机具有多个接口,则可以提供特定接口的IP而不是0.0.0.0
。
请记住,开发服务器并非用于生产。如果您想远程访问您的开发服务器,那么上面的方法就很好了,但是您最终可能希望使用类似gunicorn的工具来运行,在这种情况下,请提供IP:port
组合作为bind
标志:
gunicorn --bind 0.0.0.0:5000 app:app