12

非常にシンプルな Flask アプリケーションを Amazon EC2 ノードでホストしていますが、何らかの理由で外部からは見ることができません。フラスコアプリはこちら

from flask import Flask

app = Flask(__name__)
app.config['DEBUG'] = False

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/p1')
def p1():
    return "P1!!!"

if __name__ == '__main__':
    app.run(host='0.0.0.0')

スクリプトを実行すると、サーバーが正常に動作しているように見えるので、(別のコンピューターの) ブラウザーに次のように入力します:5000 (AWS から取得した IP アドレス)。興味深いのは、ハングしているように見え、最終的にエラーが発生することです。私の推測では、AWS でいくつかの構成が欠落していると思われますが、それが何であるかはわかりません。どんな助けでも大歓迎です

編集ローカルマシンにアプリをデプロイしようとしました。そして、localhost:5000 を使用してブラウザーからアクセスしようとすると、機能します。localhost を自分の IP アドレスに置き換えると失敗します

4

5 に答える 5

1

EC2 インスタンスでは、セキュリティ グループは Web サイトへのエントリを制限するものです。

  • AWS ポータルに移動し、インスタンスを選択します
  • セキュリティグループを見つけて名前をクリックします
  • 受信規則ウィンドウで、規則の追加を選択します
  • 推奨されるセキュリティ プラクティスではありませんが、実行するには、[すべての TCP] を選択します。
  • ソースに「0.0.0.0」を追加

あなたのウェブサイトは実行されます

于 2020-04-15T18:41:24.270 に答える