2016-04-14 16 views
3

Tomcat 7でBASIC認証を使用してアプリケーションを設定しました。 テストでは正常に動作しますが、プロダクション環境では何も受け付けません。 Chromeのコンソールで404エラーが見つかりません。Tomcat 7のセキュリティで保護されたWebサイト404

enter image description here

しかし、私はcurlコマンドを実行すると、私はページに到達することができます。

curl -vv -u username:password http://10.XXX.XXX.21/historia/es/index.jsp 

誰でも助けてくれますか?

PS:リクエストヘッダーを編集した場合、認証を追加すると(Firefoxで)、200のステータスが表示されましたが、ページが白く表示されます。私は何も理解していない。

ありがとうございます!

+0

...「curl」はChromeのリクエストと同じホストからのものですか?愚かな質問を申し訳ありませんが、それは大きな違いを生むことができます。 –

+0

ではない、カールは同じネットワーク内の別のマシンからのものです。私はこのサーバーでクロムを使用することはできません。ありがとう! –

答えて

0

プロダクションでは、外部ネットワークからサービスに接続しようとしています。アドレス「0.0.0.0」を追加して、すべてのアドレスを聞いてみてください。 server.xmlで以下のように編集してみてください。

<Connector port="8080" protocol="HTTP/1.1" 
      maxHttpHeaderSize="65536" 
      connectionTimeout="20000" 
      redirectPort="8443" 
      address="0.0.0.0" /> 

シャットダウンし、その

+0

別の問題は、URLにポートがないことです。通常、tomcatはポート8080で動作し、追加する必要があります。 http://10.XXX.XXX.21:8080/historia/es/index.jspでGETリクエストを作成してみてください。 10.XXX.XXX.21が外部IPだと思います。そうでない場合は、ポート8080でポート転送を使用する必要があります。 うまくいくと思います。 –

+0

しかし、 'curl'はポートを越えて動作します... –

+0

こんにちはRadulescu、私はあなたの設定を試みましたが、それでも失敗します。 –

0

10.XXX.XXX.21後にTomcatを起動しますが、ネットワーク内部からそれを呼び出すことができますプライベートアドレスです。そのホストに接続を転送することはできますが、それは別の話です。ホストが見つからないのではなく、404が得られたのはなぜですか?まあ、その他のネットワークでは、クロムと - あなたは同じIPを使用することができます。

+0

web.xmlのセキュリティを無効にすると、ページは正常に動作します。バランサ、DNSなどの問題を避けるために、常にネットワーク内(IPまたはホスト名)を呼び出します。私は他のアプリケーションで試してみると失敗します。 –

+0

私はこの事を理解していません。ただし、認証のログを有効にすることができます: org.apache.catalina.realm.level = FINEST org.apache.catalina.authenticator.level = FINEST $ CATALINA_BASE/conf/logging.properties –

関連する問題