0

クライアント側でGlassfishクライアントコード(Glassfishクライアントとしてパッケージ化されていない)を使用し、サーバー側でGlassfishインスタンスを使用して、JNDI / RMI / IIOPを介して通信するクライアント/サーバーアプリケーションがあります。

どのマシンでも作成するドメインが完全に同一であり、正しく構成されていることを確認するために使用する Glassfish マルチモード スクリプトがいくつかあります。

ローカル ネットワークでそのスクリプトを使用して、自分のマシンのクライアント コードからリモートの Glassfish サーバー インスタンスにアクセスできることを確認しました (これはかなり妥当な推測でしたが、よくわからないことはすべてテストする傾向があります)。

次のステップは、そのクライアント/サーバー アプリケーションをインターネット経由で (代わりに「経由」と言うべきです) 動作させることです。クライアント コードは会社の LAN (つまり、マシン上) にあり、サーバー コードは Glassfish を実行している Amazon VM にあります。サーバ。何らかの理由で、リモートの Glassfish が Windows VM で実行されています。

明らかに(私がその質問をするとき、インターネット経由のテストが機能していないと安全に推測できます。そして、あなたは正しい.

そこで、さらに推測するために、自分のマシンとサーバーの両方でSmartSnifferを開始しました。

私のマシンでは、そのサーバー インスタンスに送信される TCP パケットが 1 つしか表示されません (何も返されません)。

サーバー インスタンスでは、入ってくる 1 つのパケット (クライアント クエリ) と出ていく 1 つのパケット (サーバーの応答) を確認できます。そのサーバーの回答は次のようになります。

[2012 年 4 月 4 日 11:47:13 AM:917] GIOP.......(................NameService....._is_a... ................NEO................ª.......(IDL:omg.org/SendingContext/ CodeBase:1.0........n.......172.27.63.145.Ô2....¯«Ë.......e..... ……………………………… .....&................(IDL:omg.org/CosNaming/NamingContext:1.0.

その 172.27.63.145 アドレスは、ローカル ネットワークでの私の IP です。

[2012 年 4 月 4 日 11:47:13 AM:917] GIOP........2........NEO........ ...0.......(IDL:omg.org/SendingContext/CodeBase:1.0...................46.137.114.## #.'5....¯«Ë........d.................................................... ... …………………………………………!……|…… ..........$... ...f........10.241.42.###.'6.@...... ..g........g........デフォルト....g... ..........+IDL:omg.org/CosNaming/NamingContextExt:1.0........¢.........10.241.42.208. '5...M¯«Ë.... ...d... S1AS-ORB........RootPOA.... TNameService.......... ……………………………… ………………

その 46.137.114.### は Amazon VM の外部 IP であり、10.241.42.### は Amazon Magic Virtual Server の内部 IP です。

サーバーが応答しているようです、いいえ?

しかし、その答えがネットワーク内の私のマシンに届くことはありません。

それで...どこで紛失したかを確認するにはどうすればよいですか?パケット スニファーは機能を果たしたようですが、どうすればよいですか?

: この質問は、「Glassfish クライアントを NAT 経由で GlassFish サーバーに接続する方法は?」の説明です。

4

1 に答える 1

0

ばかげた質問かもしれませんが、Amazon EC2 インスタンスは、通信プロトコルが機能するために必要なすべてのポートを開いた状態で設定されていますか? AWS コンソールの EC2->Security Groups で、インスタンスが割り当てられたセキュリティ グループで構成されたオープン ポートを確認できます。

于 2012-04-04T12:14:07.080 に答える