2011-06-12 2 views
6

Apache Tomcat 7에서 와일드 카드 SSL 인증서를 사용하고 있습니다.하지만 지금은 갱신해야하는데 브라우저에서 멋진 녹색을 표시하는 EV 인증서 (확장 인증)가 있습니다. 바를 사용하여 사용자의 기분을 좋게 만듭니다. 그게 내 사이트에 중요 할거야, 그래서 그것을 원해! 하지만 여러 하위 도메인을 가지고 있으며 분명히 EV SSL 인증서는 본질적으로 와일드 카드가 아닙니다. 그럼, 난 하위 도메인의 집합 번호가, 난 그냥 각 하위 도메인에 대한 무리 (적어도 2) EV SSL 인증서를 구입할 수 있습니다.Tomcat 7에서 다중 SSL 인증서 사용

하나의 웹 응용 프로그램에 여러 개의 SSL 인증서가 있도록 Tomcat 7에서이를 설정할 수 있습니까? 이 컴퓨터에 여러 IP 주소를 할당하는 것은 문제가되지 않습니다.

답변

11

Java (6)에서 지원되지 않는 SNI (Server Name Indication)가 없으면 IP 주소 당 하나의 인증서가 필요합니다.

address attribute을 사용하여 다른 IP 주소와 인증서로 여러 커넥터를 사용하도록 Tomcat을 구성 할 수 있습니다.

예를 들어

:

<Connector 
     port="8443" maxThreads="200" address="10.0.0.1" 
     scheme="https" secure="true" SSLEnabled="true" 
     keystoreFile="keystore1.jks" keystorePass="..." 
     clientAuth="false" sslProtocol="TLS"/> 
<Connector 
     port="8443" maxThreads="200" address="10.0.0.2" 
     scheme="https" secure="true" SSLEnabled="true" 
     keystoreFile="keystore2.jks" keystorePass="..." 
     clientAuth="false" sslProtocol="TLS"/> 

또한 키/인증서를 사용하도록 커넥터에게 당신이 필요로하는 경우, 같은 키 스토어를 사용하고 (Connector 단위) keyAlias 속성을 사용할 수 있습니다 (기반 keystore의 별명에).

+0

완벽한, 내가 찾던 정확히 :

여기에이 주제에 대한 단계별 가이드가있다. 아직 시도하지 않았습니까? 얼마나 효과가 있었는지 알려줍니다. –

+0

야, IP 대신 도메인 이름을 설정할 수 있습니까? –

+0

안녕하세요 @ 브루노, 주소 속성에서 IP 주소 대신 도메인 이름을 사용할 수 있습니까? 왜냐하면 나는 많은 사이트를 호스팅하고 있기 때문에 그들은 모두 동일한 IP 주소에 속합니다. –

1

저는 복수 SSL 및 IP가있는 서버에서 으로 작업했습니다.

추가 IP의이 방법은 (a 2048 비트 키를 가진 경우)
http://www.loadtestingtool.com/help/how-setup-ip.shtml

추가 된 코드는 "암호"로 서버 사용 가능한 최대 보안을 확인합니다. 이 페이지에서 테스트가 (여러 곳에서) "-keystore"텍스트의 시작 부분에 잘못된 문자가 있음을
http://community.jboss.org/wiki/GeneratingSelfSignedCertificateWithKeytool
참고 :

이 자체 서명 키를 이런 식으로 작동합니다 첫 번째 테스트. 여기

코드입니다 :

<Connector protocol="org.apache.coyote.http11.Http11Protocol" address="###.###.###.##1" port="443" minSpareThreads="5" 
    enableLookups="true" acceptCount="100" maxThreads="200" 
    scheme="https" secure="true" SSLEnabled="true" keystoreFile="key1.key" 
    keystorePass="password1" clientAuth="false" sslProtocol="TLS" 
    ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"/> 

<Connector protocol="org.apache.coyote.http11.Http11Protocol" address="###.###.###.##2" port="443" minSpareThreads="5" 
    enableLookups="true" acceptCount="100" maxThreads="200" 
    scheme="https" secure="true" SSLEnabled="true" keystoreFile="key2.key" 
    keystorePass="password2" clientAuth="false" sslProtocol="TLS" 
    ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"/> 
+0

안녕하세요 @ Zuul, 주소 속성에 IP 주소 대신 도메인 이름을 사용할 수 있습니까? 왜냐하면 나는 많은 사이트를 호스팅하고 있기 때문에 그들은 모두 동일한 IP 주소에 속합니다. –

1

당신은 단지 인생을 더 쉽게 얻을 수있는 EV SAN (도 UCC로 알고) 및 주체 대체 이름 필드의 항목으로 각 도메인을 추가합니다. 여러 개의 IP 주소를 사용하려면 인증서를 내보내고 각 IP 주소로 다시 가져옵니다 (http://www.ssltools.com/manager는 창을 실행하는 경우 유용합니다). EV SAN 인증서의 좋은 예는 https://www.ssl.com에있는 인증서입니다.

3

"SNI"가 실제로 적합한 지 확실하지 않습니다.

그러나 귀하의 경우 전형적인 해결책은 ssloffloading 또는 ssl이라고합니다. 종료 : 즉, 동일한 IP에서 여러 가상 호스트/도메인 이름을 사용하도록 구성된 apache에 tomcat을 넣으십시오. 아파치의 각 가상 호스트가 자체 SSL 인증서를 사용하도록 설정할 수 있습니다.

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