阿里雲centos7.4下tomcat8.5配置ssl證書


環境

阿里雲centos7.4 

域名也是阿里申請的

jdk1.8

tomcat8.5

1.申請證書

登錄到阿里雲的域名管理,可以看到已經申請過得域名,我這里第一個已經配置了ssl,第二個未配置,點擊更多,進入ssl證書的申請

 

 我們這里申請免費的證書(家里沒礦QAQ,只能用免費的)

 

填寫綁定的域名

 

鼠標點點就可以提交申請,審核通過后就可以到這里查看

 

2.下載證書

在已簽發的證書處,找到下載,因為我們是要配置tomcat的,所以就下對應的版本

 

3.導入證書

下載證書到本地后,解壓得到兩個文件,一個是.pfx文件,一個是密碼文件

將文件上傳到centos,我是將文件保存到服務器對應tomcat下的cert文件夾中

4.server.xml配置

原來端口是8080,改為80,可以免去輸入時不用帶端口就能直接訪問,同理,重定向端口原來時8443,改為443

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443"/>
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.xxx1.cn">
        <SSLHostConfig hostName="www.xxx1.cn">
            <Certificate certificateKeystoreFile="{你下載的pfx文件的絕對路徑,例如:/usr/local/tomcat/cert/xxx1.pfx}" certificateKeystorePassword="{你下載的pfx文件的密碼}" certificateKeystoreType="PKCS12" certificateKeyAlias="alias"/>
        </SSLHostConfig>
    </Connector>

 

如果一個tomcat要被兩個域名映射,可以這樣添加

    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443"/>
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.xxx1.cn">
        <SSLHostConfig hostName="www.xxx1.cn">
            <Certificate certificateKeystoreFile="{你下載的pfx文件的絕對路徑,例如:/usr/local/tomcat/cert/xxx1.pfx}" certificateKeystorePassword="{你下載的pfx文件的密碼}" certificateKeystoreType="PKCS12" certificateKeyAlias="alias"/>
        </SSLHostConfig>
        <SSLHostConfig hostName="www.xxx2.cn">
            <Certificate certificateKeystoreFile="{你下載的pfx文件的絕對路徑,例如:/usr/local/tomcat/cert/xxx2.pfx}" certificateKeystorePassword="{你下載的pfx文件的密碼}" certificateKeystoreType="PKCS12" certificateKeyAlias="alias"/>
        </SSLHostConfig>
    </Connector>

往下還要配置,將所有的跳轉都由443處理

<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

 

5.web.xml配置

打開server.xml同個目錄下的web.xml

</welcome-file-list>

下添加

      <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>

 

6.添加端口

阿里雲開放443端口,登錄后阿里雲esc服務器管理,根據自己需求添加規則

回到centos防火牆設置

查看防火牆開啟的所有端口
  firewall-cmd --zone=public --list-ports
添加開放的端口(添加443端口)
  firewall-cmd --zone=public --add-port=443/tcp --permanent
刷新配置
  firewall-cmd --reload

7.重啟tomcat

在tomcat目錄bin下執行

./shutdown.sh 

./startup.sh

8.測試訪問

如果地址前加https能訪問成功,說明tomcat配置ssl證書成功了。

ps:

1.tomcat8是個分水嶺,8以上和8以下配置時不一樣的,可以參考官網的手冊

  tomcat7以及以下的配置:https://help.aliyun.com/knowledge_detail/95496.html

  tomcat8的以及以上的配置:https://help.aliyun.com/document_detail/102939.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM