我们在使用Flask开发应用时,通过127.0.0.1:5000 或者localhost:5000访问应用正常,但是当使用本机ip 访问时却出现了 无法访问此网站的错误,如下图:
按照图中的提示,检查了代理服务器和防火墙(包括关闭了电脑中的杀毒软件),各种折腾都没有解决问题。然后请教运维同学,尝试各种操作,都无效。真是一顿操作猛如虎,最后一看还在原地杵!最后没有办法,查看了flask的 run源码
def run(self, host=None, port=None, debug=None, load_dotenv=True, **options):
其中重要注释如下
:param host: the hostname to listen on. Set this to ``'0.0.0.0'`` to
have the server available externally as well. Defaults to
``'127.0.0.1'`` or the host in the ``SERVER_NAME`` config variable
if present.
翻译就是 设置0.0.0.0 ,服务器会提供给外部使用,默认是127.0.0.1,也可以使用host文件中server name。
于是乎修改代码如下,然后就完美运行了
if __name__ == '__main__':
#app.run(debug=True)
app.run(host='0.0.0.0')
最后总结一下,当各种求助问题无果时,我们是需要查看源码来解决问题的!
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!