天天看點

Tomcat部署多域名ssl證書

Tomcat部署多域名ssl證書

轉載來自:

http://blog.51cto.com/zhanx/2287657

學習參考

部署步驟:

1、搭建Tomcat環境。

2、申請域名證書。

3、部署域名的http通路。

4、部署域名的https通路。

5、強制使http跳轉至https。

具體操作如下:

1、搭建tomact環境。

這裡不做贅述,搭建可以所搜其他網絡資源。(我這裡的環境是Windows2012系統搭建的Tomcat環境)
           
域名證書這裡不在說明,(可以參考“Apache配置https證書并跳轉”)
           
部署好Tomcat後,找到對應目錄下的conf檔案找到server.xml檔案修改對應的配置。

   找到Host添加域名綁定配置            
Tomcat部署多域名ssl證書
Tomcat部署多域名ssl證書

配置如下:

<Host name="域名"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="網站檔案路徑"/>
  </Host>
  <Host name="域名"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="網站檔案路徑"/>
  </Host>           

測試域名通路成功後,進行下一步測試。

4、配置域名https通路。

現将域名的ssl證書放到Tomcat中的conf檔案中。

  在server.xml檔案中找到ssl配置中做如下配置修改:           
Tomcat部署多域名ssl證書

**

<Certificate certificateKeystoreFile="conf/證書路徑以及名稱" certificateKeystorePassword="證書密碼" type="RSA"/>              
<Certificate certificateKeystoreFile="conf/證書路徑以及名稱" certificateKeystorePassword="證書密碼" type="RSA"/>              

5、強制使http跳轉至https

到conf目錄下的web.xml。在</welcome-file-list>後面,</web-app>,也就是倒數第二段裡,加上這樣一段
           
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
           

再讓非ssl的connector跳轉到ssl的connector去。是以還需要前往server.xml進行配置:

connectionTimeout="20000"
redirectPort="443" />
           

通路http域名自動跳轉至https。

Tomcat部署多域名ssl證書
測試過程中遇到的坑:

1、配置多域名ssl證書時,指有一個域名通路生效,另外一個域名的證書為不安全證書。

 經多方測試Tomcat的8.5 jdk版本1.8.0 配置多域名多證書通路成功。

  使用Tomcat的9以上的版本不能成功,建議大家多測試。有好方案,配置可以留言