1. 程式人生 > >給tomcat部署的網站配置https

給tomcat部署的網站配置https

場景

公司ios開發需要服務api都基於https,所以最近摸索了一下。
伺服器部署在阿里雲上,本來想直接找let encrypt 或者 trustAisa 的免費證書。但是搜了一些部落格發現,阿里雲伺服器配置第三方的CA證書,還需要在阿里雲上配置一箇中間證書,感覺這樣不太好,剛好阿里雲官網也提供免費的CA證書,所以直接使用阿里雲的。如下圖所示。

這裡寫圖片描述

配置方法

購買好免費的服務大概半小時證書就會簽發,在後臺介面可以看到官網文件,nginx,tomcat,apache,IIS各種都有。

我們看到tomcat裡有三個步驟,其實這是個坑,因為不需要那麼麻煩,直接用步驟2即可。
從阿里雲後臺下載好證書檔案,把pfx字尾的檔案複製到新建的tomcat/conf/cert目錄下。
然後修改conf目錄下的server.xml檔案,新增如下內容:

<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/214532761540893.pfx"
    keystoreType="PKCS12"
    keystorePass="你的證書密碼在pfx-password.txt檔案內"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
      ciphers
="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

另外將8080埠改為80,redirectPort埠8443改為443。

還要將http的url跳轉至https
在web.xml末尾加上如下配置:

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

重啟Tomcat服務大功告成。