如何配置Flask以通过公共IP接口访问?

2024-06-02 04:57:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在flask中设置服务器名或主机属性后,我无法通过它们的url从外部解析任何方法。以下是我的应用程序初始化配置:

flask_sqlalchemy import SQLAlchemy
from flask.ext.cors import CORS
__authors__ = 'DarkStar1'

from flask import Flask

app = Flask(__name__)
app.config.from_object('config')
app.config['DEBUG'] = True
app.config['SERVER_NAME'] = '0.0.0.0'
#app.run(host='0.0.0.0')
CORS(app)

db = SQLAlchemy(app)

from oms import user_service, person_service

我可以设置DEBUG param/属性,但尝试设置主机名或服务器名会导致所有URL,例如http://<;host NAME>;:5000/test,导致404s。 因为服务器是一个远程开发服务器,所以我能够通过本地主机从flask中对所有url进行隧道和获取200s。端口已启用,我使用的flask版本是python 2.7.6上的0.10.1。我搜索和阅读文档都没有用。


Tags: namefromdebugimport服务器configapphost
1条回答
网友
1楼 · 发布于 2024-06-02 04:57:01

使用

app.run(host="0.0.0.0:PORT#")

在命令提示符中使用ifconfig查找IPv4地址,在浏览器中可以使用ipaddress:port访问应用程序

您可能需要配置路由器(端口转发)以使其公开可用,否则您可以 下载/使用https://ngrok.com/--->;这将使NaT或防火墙后面的本地主机暴露在internet上。

下载后,可以通过运行

ngrok http localhost:5000

这将为您提供一个RANDOMsubdomain.ngrok.io,您可以在几乎任何地方测试您的应用程序

相关问题 更多 >