Python Flask应用程序仅对本地主机可见
正在尝试在Ubuntu 18.04 vps上托管python flask应用程序。我使用的是python版本3.6,而不是虚拟环境,因为vps将仅用于托管一个应用程序 这是此应用程序的apache2配置文件的内容:Python Flask应用程序仅对本地主机可见,python,flask,apache2,ubuntu-16.04,Python,Flask,Apache2,Ubuntu 16.04,正在尝试在Ubuntu 18.04 vps上托管python flask应用程序。我使用的是python版本3.6,而不是虚拟环境,因为vps将仅用于托管一个应用程序 这是此应用程序的apache2配置文件的内容: <VirtualHost *:80> ServerName 15.16.541.21 WSGIScriptAlias / /var/www/psoftware-nis-app/Backend/flask-api/api.wsgi <Directo
<VirtualHost *:80>
ServerName 15.16.541.21
WSGIScriptAlias / /var/www/psoftware-nis-app/Backend/flask-api/api.wsgi
<Directory /var/www/psoftware-nis-app/Backend/flask-api>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
默认情况下,flask应用程序仅对本地访问可见。您需要指定主机选项
--host=0.0.0.0
,以使其对其他网络可见
外部可见服务器
如果您运行服务器,您会注意到服务器只是
可从您自己的计算机访问,而不是从网络中的任何其他计算机访问。
这是默认设置,因为在调试模式下
应用程序可以在您的计算机上执行任意Python代码
如果禁用了调试器或信任网络上的用户,
只需添加
--主机=0.0.0.0到命令行:
烧瓶运行——主机=0.0.0.0
这会告诉您的操作系统在所有公共IP上侦听
检查此项您好,谢谢您的回答,但我怀疑这是否是问题所在,我已经配置:
如果uuuu name uuuuuuuu='uuuuu main uuuuu':app.run(host='0.0.0.0')
这与问题无关,因为OP使用的是Apache,而不是内置Flask dev服务器。您的Apache服务器运行是否正常?你能访问静态页面吗?问题是这个flask应用程序仅用作API,我没有任何页面。我相信apache2的设置是正确的,因为当我使用针对本地主机的curl测试它时,响应是正确的,它返回测试数组。我想指出,这是我第一次托管flask应用程序并使用apache,所以我可能错了。@Daniel我在flask静态文件夹中添加了一个名为test.txt的txt文件,重新加载了apache服务,当我使用curl for localhost/test.txt时,我得到了404。这是否回答了您的问题?问题是,apache是否正确运行?我想,这个问题与烧瓶无关。@Daniel你对如何测试它有什么建议吗?
if __name__ == '__main__':
app.run(host='0.0.0.0')