1

Windows上のWebサーバーでのこの動作を説明するのに途方に暮れています。Windowsファイアウォールがドメインポリシーとして設定されたドメイン環境にあります。

  • ローカル Web サーバー - localhost:port と FQDM:port の両方
    • Tomcat OK
    • IIS OK
    • WEBrick OK
    • ジェンキンのサーバー - OK
  • リモート アクセス - FQDM:port を使用
    • Tomcat 接続なし
    • IIS 接続なし
    • WEBrick OK
    • ジェンキンのサーバー - OK

リモート接続を受け入れるために WEBRick とサーバー Jenkins が使用するものを理解していません。

他に調べる必要がある診断はありますか? 同様のアプローチを使用するように Tomcat を構成することは可能ですか?

4

2 に答える 2

0

リモート リクエストが応答しないサービスに到達していないようです。これは、ファイアウォールまたは NAT の問題であることを意味します。ローカルマシンから localhost:port と FQDN:port の両方が機能すると言ったので、構成の問題ではないと思います。

診断するための適切な最初のステップは、telnet とのリモート通信があるかどうかを確認することです。

telnet ホスト名 ポート

応答が見られない場合はConnected to FQDN.、ファイアウォール、ハードウェア、またはローカル ソフトウェア ファイアウォールが接続をブロックしています。途中のファイアウォールがすべての適切なポートを開いていること、転送していることなどを確認する必要があります.

于 2012-09-21T19:27:05.623 に答える
0

WEBRick や Jenkins については詳しく言えませんが、Tomcat については、Tomcat 7 のソース ( StandardServer.java) を見ると、次のことがわかります。

// Set up a server socket to wait on
try {
    awaitSocket = new ServerSocket(port, 1,
              InetAddress.getByName(address));
 } catch (IOException e) { ... }

これは、アドレス ( の ) で指定したものは何でも、これserver.xmlを通過することを意味します。

契約InetAddress.getByNameは次のように書かれています。

ホスト名は、「java.sun.com」などのマシン名か、その IP アドレスのテキスト表現のいずれかです。リテラル IP アドレスが指定されている場合は、アドレス形式の有効性のみがチェックされます。

もし私があなたなら、最初に IP アドレスだけを設定してみて、問題がないか確認します。

2 番目のステップは、ローカルの名前解決ポリシーが正しくないかどうかを確認することです (hostsファイル)。私は、ローカルhostsファイルが正しくないか、解決できないエントリが含まれている状況にあり、あなたが抱えているようなあらゆる種類の奇妙な問題を引き起こしています。

于 2012-09-17T09:08:06.150 に答える