通过代理IP连接到Flask localhost服务器

时间:2018-02-21 23:38:15

标签: python flask proxy

我是Flask和Web开发的新手,并且试图通过我的浏览器访问localhost开发服务器,该浏览器通过代理IP运行。

我从Google Chrome高级设置手动设置的代理IP(请参阅https://customers.trustedproxies.com/knowledgebase.php?action=displayarticle&id=10)。未选中“绕过本地地址的代理”,因为我不想在此处执行此操作 - Flask服务器需要使用代理。对于一般浏览,设置代理是好的。此外,我正在使用socketio来运行该应用程序。

以这种方式设置代理,我尝试了这些选项但没有成功:

socketio.run(app) # url http://127.0.0.1:5000/ or localhost:5000

socketio.run(app, host='0.0.0.0', port=8080) # url http://127.0.0.1:8080/ or localhost:8080

socketio.run(app, host='0.0.0.0') # url http://0.0.0.0:5000/ or localhost:5000

socketio.run(app, host='0.0.0.0', port=8080) # url http://0.0.0.0:8080/ or localhost:8080

socketio.run(app, host=proxyip) # url http://proxyip:5000/ or localhost:5000

我在Python控制台中遇到“无效地址”错误,或者我的浏览器出现502错误。有没有其他方法可以运行可能在这里工作的开发服务器?

1 个答案:

答案 0 :(得分:1)

您需要将flask配置为在127.0.0.1上运行,并且在您需要启用的代理设置中:"绕过本地地址代理"否则,您尝试访问代理上的localhost,而不是本地计算机上。

如果您想通过本地网络之外的代理访问您的烧瓶实例,您需要:   - 在0.0.0.0:8888(或其他端口)上运行烧瓶   - 从您的家用路由器,将端口8888转发到机器运行烧瓶   - 从您的浏览器中使用您的外部IP地址(谷歌"什么是我的IP")+ 8888端口来访问您的烧瓶应用程序

重要提示:按照第二种解决方案中的描述进行操作就是向全世界开放您的应用程序,所以要小心。