2017-08-03 3 views
-1

私はEC2 VPC RHELのインスタンスを作り、埋め込まれた桟橋のWebサーバーを実行しているJavaアプリケーションを展開。簡単な理解のため、このWebアプリケーションは基本的なHTMLリクエストを提供しています。私の最初のテストでは、すべての着信トラフィックと発信トラフィック(All All 0.0.0.0/0、::/0)を許可するセキュリティグループを作成しました。アマゾンAWS上でJavaアプリケーションを実行する

私は、パブリックIPアドレスからWebページを閲覧するために期待していたが、何とかそれは働いていません。また、Jettyが0.0.0.0でリッスンしていることも確認しました。だから、桟橋は問題にはならない。私は半日かけてそれを見つけ出しましたが、それは機能しておらず、原因を突き止めることができませんでした。

その後、非常に基本的なTCPサーバー(https://systembash.com/a-simple-java-tcp-server-and-tcp-client/)を作成し、同じAWS ec2インスタンスにデプロイしてから、クライアントからTCPクライアントとして要求を送信しようとしましたが、動作しません。

しかし、私はWinSCPのからファイルを転送するだけで、このパブリックIPとパテからのコマンドを実行しています。つまり、パブリックIPは問題ではありません。

私はパテとの唯一の違いを見ることができますが、WinSCPと私のJavaクライアントはパテであり、認証プロセスの一部としてプライベートキーを提供していますが(認証では)、Javaまたはブラウザではアクセスしていますそれは直接です。

問題ありませんが、可能かを理解することができ。パブリックIPコール(ec2-xx-xx-xx-xxx.xx-west-2.compute.amazonaws.com)からプライベートIPコールへのDNS変換に問題がありますか、これは認証の問題ですか?

以下

は、AWSのNetstatのトレースである(8080上で実行されているWebサーバー、私は本当の-Djava.net.preferIPv4Stack =とスタックIP4上でJVMを実行する)

[EC2-ユーザー@ IP-172から31-XX -xxx〜] $ sudoのnetstatの-plnt

アクティブなインターネット接続(サーバーのみ) 原Recv関数 - Q送る-Qローカルアドレス外国住所州PID /プログラム名

TCP 0 0 0.0.0.0:8080 0.0 .0.0:* 0 0 0.0.0.0:22 0.0.0.0:*は、1627/sshdのをLISTEN 9321/javaの
TCPをLISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1091/master
tcp6 0 0 ::: 22 ::: * LISTEN 1627/sshd
tcp6 0 0 :: 1:25 ::: * 1091 /マスター

すべてのヘルプをLISTEN?

+0

セキュリティグループでポート8080を開きましたか? –

+0

私はすでに「すべての着信トラフィックと発信トラフィックを許可するセキュリティグループを作った」と言いました。 –

答えて

0

読者を迷惑して申し訳ありません。私はすべてをやったが、問題は起こっていた。その後、私は自分のホームネットワークにいる同僚にクライアントプログラムを渡してくれました。

問題はAWSにはなく、どういうわけか要求をブロックしている私の企業のネットワークセキュリティにありました。

+0

企業では、DNS、HTTP、HTTPS以外のポート(必要に応じてFTP、SSH、SMTP/POP3/IMAPなど)以外のポートをブロックするのが一般的です。これは、ポート8080上のWebアプリケーションをテストすることに挑戦します。SSHローカルポート転送(ssh -i user.pem -L 9000:localhost:8080 [email protected] 1.amazonaws.com)またはiptablesポートリダイレクト、またはポート転送(80〜8080)を使用したELBでも、ポート80でファイアウォールから接続し、その後ポート8080へのリダイレクトを行うことができます。 – jarmod

+0

チップのJarmodに感謝します。 –

関連する問題