Tomcat部署多域名ssl證書

                                                          Tomcat部署多域名ssl證書

部署步驟:

1、搭建Tomcat環境。

2、申請域名證書。

3、部署域名的http訪問。

4、部署域名的https訪問。

5、強制使http跳轉至https。


具體操作如下:

1、搭建tomact環境。

      這裏不做贅述,搭建可以所搜其他網絡資源。(我這裏的環境是Windows2012系統搭建的Tomcat環境)

2、申請域名證書。

      域名證書這裏不在說明,(可以參考“Apache配置https證書並跳轉”)

3、部署域名的http訪問。

        部署好Tomcat後,找到對應目錄下的conf文件找到server.xml文件修改對應的配置。

       找到Host添加域名綁定配置

圖片.png

圖片.png

配置如下:

      <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配置中做如下配置修改:

   圖片.png

<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="域名">   
  <SSLHostConfig hostName="域名">   
    <Certificate certificateKeystoreFile="conf/證書路徑以及名稱" certificateKeystorePassword="證書密碼" type="RSA"/>   
  </SSLHostConfig>   
  <SSLHostConfig hostName="域名">   
    <Certificate certificateKeystoreFile="conf/證書路徑以及名稱" certificateKeystorePassword="證書密碼" type="RSA"/>   
  </SSLHostConfig>   
</Connector>

5、強制使http跳轉至https

     到conf目錄下的web.xml。在</welcome-file-list>後面,</web-app>,也就是倒數第二段裏,加上這樣一段

     

<login-config>
    <!-- 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進行配置:

        

<Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443" />

redirectPort改成ssl的connector的端口443,重啓後便會生效

訪問http域名自動跳轉至https。

image.png

    測試過程中遇到的坑:

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

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

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章