2017-08-25 21 views
0

Tomcatのリダイレクトを正しく設定する際に問題があります。私はWebappのためにtomcatを設定しようとしています。現在、ポート8080へのすべてのリクエストが8443のSSLポートにリダイレクトされるようにしています。これは外部から接続している誰でもうまく動作しています。また、ローカルIPの代わりにドメイン名を使用しているので、内部で接続している人にも適しています。外部IP専用のTomcat SSLリダイレクト

問題は、LAN経由でこのWebアプリケーションに接続する必要のあるユーティリティがいくつかあることです。現在、彼らはすべてlocalIP:8080と通信することでそうしています。 Tomcatのリダイレクトが発生すると、https://localIP:8443にリダイレクトされ、不正なcertの問題が発生します。

非SSLポート8080

のserver.xml

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

に接続するためのLAN IPアドレスを外部IPからのすべての要求のためにSSLにリダイレクトし、許可することが可能である場合、私は疑問に思ってweb.xmlの

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>App_nmae</web-resource-name> 
     <url-pattern>/*</url-pattern> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    </web-resource-collection> 

    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

答えて

1

アイデアのカップル:

  1. サービスには常に適切なホスト名を使用し、通常どおりTLSを許可します。これはベストプラクティスのIMOになります。
  2. 完全に制御できるので、クライアントを修正してください。証明書が(そうでなければ)有効である限り、ホスト名の不一致を無視させるだけです。これは少しハックですが、達成するのはかなり簡単なはずです。

    <Connector port="8081" secure="true" />

それはあなたがへのアクセスを制限することが重要です:手波状の魔法を通じて、すべてを修正し、追加のコネクタを設定し、http://localIP:8081に、あなたの「信頼できる」アプリケーションを指すよう

  • そのポート。おそらくファイアウォールを使用するのが最善の方法ですが、構成にRemoveAddressFilterを追加することで、セキュリティを2倍にすることができます。

  • 関連する問題