質問: ### 前提・実現したいこと ローカルで作成したHello world表示アプリをec2のパブリックipから公開したいです。 現状はローカルでdocker,docker-composeでdjangoの開発環境をビルドし、 http://localhost:8000/helloのリンクで問題なくhello worldページを表示する事に成功しております。 そのプロジェクトをgitにプッシュして、 ec2コンテナ内でクローンしローカルと同じ環境をビルドしました。 そこでec2のインスタンスにあるパブリックipを使用してhallo worldページを開こうとすると このサイトにアクセスできませんと表示されてしまいます。 プロジェクトのソースコードは下記となります。 git@github.com:ren80001/ec2-docker-testproject.git ### 発生している問題・エラーメッセージ ``` 下記の様に表示されてアクセスできません。 このサイトにアクセスできません3.137.187.156 で接続が拒否されました。 次をお試しください 接続を確認する プロキシとファイアウォールを確認する ERR_CONNECTION_REFUSED インターネット接続を確認してください ケーブルを確認し、使用しているネットワーク デバイス(ルーター、モデムなど)を 再起動してください。 ファイアウォールやウイルス対策の設定で、Chrome からネットワークへのアクセスを 許可します。 ネットワークへのアクセスを許可されたプログラムとして既に表示されている場合は、 いったんリストから削除し、もう一度追加してみてください。 プロキシ サーバーを使用している場合... プロキシの設定を確認するか、ネットワーク管理者に問い合わせて、プロキシ サーバーが正常に 動作しているかどうかを確認してください。プロキシ サーバーを使用していない場合は 次の方法をお試しください。 このオプションを無効にするには: [アプリケーション] > [システム環境設定] > [ネットワーク] > [詳細] > [プロキシ] の順に移動して、 選択されているプロキシの選択を解除します。 ``` ### 補足情報(FW/ツールのバージョンなど) インスタンスは実行中でサブネット、VPC,インターネットゲートウェイ、ルートテーブルなどはアタッチドされており、 実行する際はあwsにssh接続した状態でdocker-compose up -dで起動しております。 80番ポートでのアクセスも可能としております。
回答: gitリポジトリのURLはhttpsで貼ってください。 docker-compose.ymlではnginxをホストの8000番ポート、djangoをホストの8001番ポートにマッピングしているので、80番ポートを使っていません。 なので80番ポートにアクセスしても何も待ち受けているものがない状態です。(コンテナでnginxを立ち上げているにも関わらず、ホストでわざわざ80番ポートへのリクエストを転送するようなことはしてないだろうと想定しています。) せっかくnginxを使っているのだから、nginxを80番ポートにマッピングすれば良いと思います。 nginx自体ももわざわざ8000番ポートでリッスンする必要も特にないでしょう。