CentOSでのFlaskに別PCからアクセス

■flaskで実行したプログラムに、外部PCのブラウザでアクセス。
PythonのFlaskをCentOS内で実行して、それを外部PCからアクセスできないか見てみた。結論から言うと、hostとportを正しく設定すればアクセスできた。

Flaskのコードは、Docker Desktop (003_FlaskでPost, Get)で使用したもの。まず、CentOS内で実行してみて、同じPCのブラウザでアクセスできるか見てみた。実行コマンドと結果が下のもの。

export FLASK_APP=(flaskのコードファイル)
flask run

ホスト127.0.0.1、ポート5000で動作していることが分かる。

CentOS内のFirefoxからアクセスできた。
CentOSのPCのIPアドレスは192.168.10.127だけど、外部PCで、http://192.168.10.127:5000/ としてもエラーになる。

実行コードにhost, portを指定すると、アクセスできるようになった。ここのhostは、'0.0.0.0'でも問題なかった。

flask run --host='192.168.10.127' --port=5000

同じPCのブラウザからアクセスしたときは、左端のIPアドレスは、127.0.0.1のローカルのものが表示されていたけど、外部からアクセスしたときは、外部PCのIPアドレスが表示された。

なお、xrdpのリモート設定を行ったときと同じく、firewallのポート開放は必要。分かってみると、簡単なことだったけど、HTTP通信なのでまた別の設定が必要なのかといろいろ迷った。

インターネットに公開しない社内サーバを数人で使用するくらいならこれでも十分に使えそう。