ウィンドウ2008サーバーを備えたAmazon EC2マイクロインスタンスがあり、その上にJavaを使用し、Tomcat 7サーバーにデプロイされた1つのサンプルWebアプリケーションをデプロイしました。インスタンスにローカルでアクセスできますが、 AWSインスタンスの外部でアクセスしようとすると、AWSのパブリックDNS /パブリックIPアドレス/インスタンスのElastic IPアドレスを使用して自宅のコンピューターから言うと、「Webページは利用できません」と表示されます。
私はこのフォーラムで非常に多くの同様の質問を経験しました、そして私は彼らがするように求めているすべての設定を完了しましたが、それでも成功していません。
これが私が行った/確認したことです。
1。 localhostが機能するため、アプリケーションはポート80でリッスンします。
2。インスタンスが使用しているセキュリティグループの下のすべてのユーザーに対して、ポート80のHTTPの受信ルールを追加しました。
。 Windowsインスタンスのファイアウォール設定をチェックし、ポート80がブロックされていないことを確認しました。
4。ファイアウォールをオフにしても試行されましたが、成功しませんでした。
誰かが私を助けてくれると本当にありがたいです。
ありがとう、NS
Windows Server 2012 ec2インスタンスにJetBrains YouTrackをインストールしたときにも、同様のイライラする問題がありました。私のために働いたのは、Javaがを具体的に使用していたWindowsファイアウォールのポートを開いて、World Wide Publishingサービスポートを無効にすることでした。 。また、デフォルトのアカウントではなく、LocalSystemアカウントでYouTrackサービスを実行する必要がありました。
これを試して:
IIS使用している場合は、デフォルトのWebサイトをオフにします
netstat -a -bを実行して、Java.exeがバインドしようとしていたポートを見つけます。
TCP 0.0.0.0:80 WIN-9NFIG6IEPT6:0リスニング[Java.exe]
TCP 127.0.0.1:49306 WIN-9NFIG6IEPT6:49307 ESTABLISHED [Java.exe]
サービスコントロールマネージャーを開き、サービスを右クリックして、プロパティダイアログを開きます。 [ログオン]タブで、サービスを実行するアカウントとしてローカルシステムアカウントを選択します。このユーザーは管理者であることが重要です
TCPポート80およびそれが必要とする可能性のあるその他のポートを使用して、Tomcatの新しいルールを作成します。
ルールを保存し、サーバーの外部からURLをテストします。
ファイアウォール設定を完全にオフにするべきではありません。これにより、アプリのセキュリティが低下します。代わりに、Windowsサーバーの受信ファイアウォールルールを変更して、特定のポートでの受信トラフィックを許可します。
AWS EC2を介してプロビジョニングされたWindows 2012サーバー上のTomcat 8にアプリをデプロイした場合も、同様の問題がありました。 VM内から http:// localhost:808 にデプロイされたアプリにアクセスできましたが、URLの文字列localhostをパブリックIPアドレスに置き換えた後、パブリックインターネットからはできませんでしたVM。
ファイアウォールルールを変更して、ポート80(http)、ポート443(https)、およびポート8080(これは、TomcatサーバーでデフォルトでWebアプリがデプロイされたポートです)で着信トラフィックを許可するように変更した後、正常に機能しました。
以下のリンクにファイアウォールとセキュリティグループの設定を記載しました。
私にとって2つのこと:
RDSインスタンスに接続されているセキュリティグループを変更して、トラフィックの送受信を許可する
アプリケーションポートのRDSでインバウンドルールとアウトバウンドルールを設定する
詳細な手順:
AWSコンソールの上部バーで、[サービス]をクリックし、[EC2]を選択します
次のウィンドウの左側のメニューのインスタンスの下で、インスタンスをクリックしてインスタンスを表示します
パブリックからアクセスするインスタンスを含むテーブルで、セキュリティグループという列まで右にスクロールします。このセキュリティグループをクリックします。
保存を押す
AWS RDSにログインして、ファイアウォールを介してインバウンドとアウトバウンドのルールを設定します
コントロールパネルを起動します。 [システムとセキュリティ](最初の可能性があります)をクリックし、[Windowsファイアウォール]をクリックします。次に、詳細設定をクリックします
左側の[受信の規則]メニューをクリックします。
[アクション]タブ(右側)で、[新しいルール]をクリックします
ポートを選択し、次へをクリックします
TCP(選択されていない場合)]を選択し、[特定のローカルポートを選択]の下にあります。
フィールドにアプリケーションのポート番号を入力し、[次へ]をクリックします
[接続を許可する]を選択して、[次へ]をクリックします。
ルール名を指定します。読みやすくするためにアプリの名前のようなものをクリックして[完了]をクリックします
次に、送信トラフィックを構成します
AWSコンソールからのパブリックコールをリッスンするために、ポートを使用可能にする必要がある場合があります。
インバウンドのルールTCPポート80は、インスタンスのAWSセキュリティグループに入力する必要がある場合があります。
おそらく、ウェブサーバーの設定を誤っています。次の方法でサーバーに接続することでテストできます。
telnet $IP 80
エラーが発生しない場合は、接続できます。この場合、ウェブサーバーを正しく設定していません。
このリンクに従ってください http://docs.aws.Amazon.com/AWSEC2/latest/WindowsGuide/using-network-security.html 、セクションセキュリティグループ
EC2インスタンスのセキュリティグループを作成して、必要なポートでの接続を許可します。
リンクを参照してください。
http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
このセキュリティグループに関連付けられているすべてのインスタンス間、または別のセキュリティグループに関連付けられているインスタンスとこのセキュリティグループに関連付けられているインスタンス間の通信を許可できます。 [ルールの追加]をクリックし、[すべてのICMP]を選択して、[ソース]にセキュリティグループのIDの入力を開始します。これにより、セキュリティグループのリストが提供されます。リストからセキュリティグループを選択します。 TCPおよびUDPプロトコルについても同じ手順を繰り返します。完了したら、[保存]をクリックします。
主にWindowsファイアウォールの問題です。私はあなたがしたのと同じステップを試みました、それは成功しませんでした。ファイアウォールを回した瞬間は大丈夫だった。インバウンドアウトバウンドルールを設定しているので、セキュリティに影響はないはずです。