簡単に言えば質問です
ワイヤレスルーターからインターネットにアクセスしているホストPCから、インターネットから見えるシンプルなFlaskベースのWebサイトをどのように実行しますか?
質問の詳細
flaskアプリケーションをインターネットに表示する クイックスタートガイド にしたい。
以下の簡単なFlaskアプリを起動すると、ホストPCと同じネットワーク上のコンピューターからアクセスできますが、インターネット経由で別のネットワークを介して接続されているデバイスからはアクセスできません。
この問題は、前述の here および here の問題に似ており、ホームPCから実行されている要素が追加され、外部接続がルーターのxxポートを指していることを示唆しているようです この投稿 のコメントで示唆されているように、ホストPCのxxポートではありません。
私がしたこと
以下のコードを参照して、これが私がしたことです:
結果は「ウェブページは利用できません」ということです。
誰かが同じ問題に遭遇しましたか?これはルーターの問題ですか?
参照Flask app
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(Host= '0.0.0.0', port=9000, debug=False)
基本的なセットアップでは、ローカルネットワークの宛先ホストにポート80またはポート443、あるいはその両方にリクエストを転送するルールを作成します。
例:pythonアプリケーションを実行しているローカルネットワークホストにインバウンドHTTP/Sリクエストを転送するためのNAT(アドレス変換)とポート転送ルールを作成します。
例えば:
app.run(Host= '192.168.0.58', port=9000, debug=False)
NATルールは、ポート9000で192.168.0.58をターゲットにする必要があります。