5

異なる IP でリッスンする複数のコネクタを設定することで、Tomcat が複数の SSL 証明書を処理できることは知っていますが、同じ IP で設定することは可能ですか?

状況は、単一の tomcat インスタンスで複数の Web アプリケーションを実行しているということです。サーバーには静的 IP が 1 つしかありません。Tomcat は仮想サーバーを持つように設定されているため、ドメインによって異なるアプリを提供します。ただし、これらのアプリの 1 つ以上で SSL が必要な場合は、問題が発生する可能性があると予測しています。

誰かがこの分野でより多くの経験を持っていますか?

4

3 に答える 3

5

同じ IP アドレスとポートで複数の証明書を使用できるようにするには、Server Name Indication のサポートが必要です。残念ながら、これはクライアント側でのみ Java 7 で導入されました

(クライアント側の SNI サポートに関してはまだ問題があります。最も顕著なのは、Win XP、Java 6 以前、および一部のモバイル ブラウザーで IE のどのバージョンからもサポートされていないためです。)

これを回避するには、複数のホスト名をサポートする単一の証明書を使用します。これを行うための推奨される方法は、複数の Subject Alternative Name (SAN) エントリを持つ証明書を用意することです。それ以外の場合、名前にパターンがある場合は、ワイルドカード証明書が適している場合があります (たとえば*.example.comwww.example.comおよびsecure.example.com)。

Apache Httpd は SNI をサポートしているためVirtualHost、提供するホスト名ごとに個別の を使用し、ホストごとに異なる Tomcat 構成へのリバース プロキシを使用することで、問題を解決できる場合があります。

于 2012-04-16T11:44:34.473 に答える
1

1 つの IP アドレスで済むとは思えませんが、複数のポートを使用することはできます。

<Connector
       port="9001" maxThreads="200"
       scheme="https" secure="true" SSLEnabled="true"
       keystoreFile="${user.home}/.keystore" keystorePass="changeit"
       clientAuth="false" sslProtocol="TLS"/>
-->

次に https:9001//myurl

あなたの接続のために、私は個人的にそれをapache httpdリバースプロキシサーバーに向けます.

于 2012-04-16T12:20:16.233 に答える
0

ここで「SNI」が本当に関連しているかどうかはわかりません。

しかし、あなたの場合、典型的な解決策はいわゆるssloffloadingまたはssl Terminationです。つまり、同じIPで複数の仮想ホスト/ドメイン名を使用するように構成されたApacheの背後にTomcatを配置します。独自の SSL 証明書を使用するように、Apache の仮想ホストごとに構成できます。

このトピックのステップ バイ ステップ ガイドは次のとおりです。

http://milestonenext.blogspot.de/2012/09/ssl-offloading-with-modjk-part-1.html

于 2013-01-27T07:25:48.307 に答える