2010-12-10 20 views
0

私はサーバAにサーバBへのリクエストをしています。私はphpのfile_get_contentsとcurlの両方を試しました。どちらも接続を拒否します。サーバーBのTomcatアプリケーションに接続しようとしています。Tomcatが他のサーバーからの接続を拒否しているのはなぜですか?

はgoogle.comにリクエストするか、Tomcatアプリケーションに含まれていないサーバーBの別のアプリケーションにリクエストすると動作します。

これは、サーバーAからの要求を拒否するTomcatインストールに固有のものがあると私に思い出させます。問題を解決するために私が提供できる情報は何ですか?

Tomcatで私のサーバAをホワイトリストに登録する方法はありますか?または最後の手段として、どのようにすべてのリクエストを受け入れるのですか?

編集:ローカル開発マシンから接続しているときにサーバーBへの接続がうまく動作すると付け加えたいと思います。

+0

エラーステータス/メッセージは正確には何ですか?単純にログインやセッション、有効なUAが必要なのでしょうか? – BalusC

+0

file_get_contentに「ストリームのオープンに失敗しました:接続が拒否されました」と表示されます。どのように私はそれにセッションを与えるだろうか? – Steve

+0

Tomcatが起動し、Webにサービスを提供していますか?私。あなたはウェブブラウザでそれにアクセスできますか?あなたの編集に従って、ローカルマシンでTomcatが動作しているように聞こえ、 'http:// localhost'を使ってPHPホストから接続しています。あなたはこのミスをしていないと確信していますか? – BalusC

答えて

1

おそらくあなたのサーバAからgoogle.comにテストまたはサーバーB上の他のアプリを使用すると、ファイアウォールルールを変更することができない場合は80多くのファイアウォールは8089.

のような奇妙なポートのトラフィックを許可していないポートを使用しますserverB:8089へのアクセスを許可するには、サーバーBのWebサーバーを介して要求をプロキシすることが正しい方法だと思います。したがって、サーバーAは "serverB:80/yourproxyurl"を要求し、サーバーBのWebサーバーはlocalhostのtomcatサーバーと通信し、応答を出力します。

これは私が理解するように、Tomcat Connectorsのためです。

+0

はい!ポート番号が問題でした!私はそれを591(別の正式なHTTPポート)に変更し、それは完全に動作します!ありがとうございました! – Steve

関連する問題