我正在运行我的Rasperry pi上安装的Flask应用程序,我可以通过内部IP和端口8080(192.168.0.21:8080)的本地网络访问它。我现在正试图从网络外部访问它。
我有一台netgear路由器,我已设置将端口8080转发到192.168.0.21(我的覆盆子pi内部IP)。当我访问aaa.bb.cc.dd:8080(我的外部IP)时,我什么都看不到,我在这里做错了什么?
这是我用来从我的覆盆子pi启动应用程序的行:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello world'
if '__name__' == '__main__':
app.run(host='0.0.0.0', port=8910, debug=True)
理想情况下,我希望在这个应用程序中拥有一个域名,我在这个应用程序中拥有一个子域名,我基本上只是将该子域的A记录指向我的外部IP吗?
更新
我尝试了几个不同的端口(即8910,87,22)并将这些端口转发到我的覆盆子内部IP仍无济于事:/我甚至采取了一步措施回来并制作了一个超级简单的你好世界应用程序,我仍然没有运气
{{1}}
我的路由器转发设置如下:
然后我基本上去了aa.bb.cc.dd:8910(其中aa.bb.cc.dd等于我的外部ip)。
我还尝试将端口8000移植到80,然后将其转发到pi,但仍然没有。
解决方案
我最终将外部端口80移植到我的覆盆子pi的静态IP地址的内部端口8000,然后在端口8000上运行raspberry pi服务器。然后我将我的子域转发到我的外部IP地址,瞧!