2023. 5. 8. 10:17

[WAS] Tomcat에서 SSL 여러 도메인 설정

- - 원본

https://nevergiveup.tistory.com/entry/WAS-Tomcat%EC%97%90%EC%84%9C-SSL-%EC%97%AC%EB%9F%AC-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%84%A4%EC%A0%95

 

[WAS] Tomcat에서 SSL 여러 도메인 설정

Tomcat 에서 도메인 여러개 설정이 가능한데 8.0 이하 버전은 SSL 인증서 하나만 설정이 가능하다는 것을 첨 알았다. SSL 설정할 이유가 별로 없었기 때문이기도 하다. 이럴때는 인증서하나에 multi 도

nevergiveup.tistory.com

 

Tomcat 에서  도메인 여러개 설정이 가능한데 8.0 이하 버전은 SSL 인증서 하나만 설정이 가능하다는 것을 첨 알았다.

SSL 설정할 이유가 별로 없었기 때문이기도 하다. 

이럴때는 인증서하나에 multi 도메인이 지원되는 인증서를 사서 설정해야 한다. ( 각각 인증서를 사는 것보다 비싸다.)

결국 8.5 이상으로 업그레이드해서 설정했는데, 한 서버에 여러개의 도메인을 사용할때 특이한 현상이 발생됨. 

나중에 www가 있는 도메인으로 접근시(ex:www.bbb.com) 종종 인증서 도메인이 틀리다면서 접근이 안됨. 

브라우져에서 인증서를 비교해보니 호출한 도메인은 www.bbb.com 인데 인증서는 www.aaa.com 이런 식이다 보니 계속 접근시 에러가 발생함...ㅠㅠ..

결국 인증서를 발급한 업체에 문의해서 해결했는데, apache나 nginx 같은 웹서버에서는 거의 발생안하는데,

Tomcat에서는 종종 발생한다는..

이를 해결하기 위해서 SSLHostConfig/Host 부분에 대해서 설정을  www와 none-www 따로 설정해줘야한다고 함..ㅠㅠ

즉 아래와 같이 server.xml 을 설정하면서 이부분 해결함.

--------------- server.xml ---------------------------------------------------------

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" defaultSSLHostConfigName="aaa.com">

<SSLHostConfig hostName="aaa.com">
<Certificate certificateKeystoreFile="aaa_com.jks" certificateKeystorePassword="xxxxx" type="RSA" />
</SSLHostConfig>

<SSLHostConfig hostName="bbb.com">
<Certificate certificateKeystoreFile="bbb_com.jks" certificateKeystorePassword="xxxx" type="RSA" />
</SSLHostConfig>

<SSLHostConfig hostName="www.bbb.com">
<Certificate certificateKeystoreFile="bbb_com.jks" certificateKeystorePassword="xxxx" type="RSA" />
</SSLHostConfig>

<Host name="aaa.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>aaa.com</Alias>
<Alias>www.aaa.com</Alias>
</Host>

<Host name="bbb.com"  appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>

<Host name="www.bbb.com"  appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>