SSL的作用
SSL協議提供的服務主要有:
1.認證用戶和服務器,確保數據發送到正確的客戶機和服務器;
2.加密數據以防止數據中途被竊取;
3.維護數據的完整性,確保數據在傳輸過程中不被改變。
SSl配置
以前的ssl都是通過寶塔一鍵進行創建的,但是前提是你需要實名,實名的時候就比較坑了,需要對着網站拍照,每仔細看,審覈了好幾次都不通過,後來才注意到這一變態的地方,也是,通過一鍵部署的你不知道是怎麼回事,於是小編就去了解了一下。
ssl基本上是每個網站必備的,下面就來具體看一下怎麼配置
其實每個版本是不一樣的,在配置之前你要看清楚你是哪一個版本的,tomcat8.5和tomcat9的配置是一樣的,
下面就以CentOS系統下Tomcat 8.5或9部署SSL證書的操作說明
前提條件:已購買centos服務器,並且購買域名,且域名已經過了管局的審覈
操作步驟
1.申請並且解壓Tomcat證書
申請通過還是挺快的,也就幾分鐘的時間吧
2.在Tomcat安裝目錄下新建cert目錄,將下載的證書和密碼文件拷貝到cert目錄下。
3.打開Tomcat/conf/server.xml,在server.xml文件中找到以下參數並進行修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數,對HTTPS默認端口進行配置:
<Connector port="80" protocol="HTTP/1.1" #將Connector port修改爲80。
connectionTimeout="20000"
redirectPort="443" /> #將redirectPort修改爲SSL默認端口443,讓HTTPS請求轉發到443端口。
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="cert/keystore.pfx"
certificateKeystorePassword="XXXXXXX"
certificateKeystoreType="PKCS12" />
#找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數:
<Connector port="443" #將Tomcat中默認的HTTPS端口Connector port 8443修改爲443。8443端口不可通過域名直接訪問、需要在域名後加上端口號;443端口是HTTPS的默認端口,可通過域名直接訪問,無需在域名後加端口號。
protocol="org.apache.coyote.http11.Http11NioProtocol" #server.xml文件中Connector port有兩種運行模式(NIO和APR),請選擇NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")這一段進行配置。
maxThreads="150"
SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/usr/local/tomcat/cert/證書域名.pfx" #此處certificateKeystoreFile代表證書文件的路徑,請用您證書的路徑+文件名替換證書域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
certificateKeystorePassword="證書密碼" #此處certificateKeystorePassword爲SSL證書的密碼,請用您證書密碼文件pfx-password.txt中的密碼替換,例如:certificateKeystorePassword="bMNML1Df"
certificateKeystoreType="PKCS12" /> #證書類型爲PFX格式時,certificateKeystoreType修改爲PKCS12。
</SSLHostConfig>
</Connector>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> #將redirectPort修改爲443,讓HTTPS請求轉發到443端口
4.保存server.xml文件配置。
5.在web.xml文件最底部添加以下內容,實現HTTP自動跳轉爲HTTPS。
<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>
6.重啓Tomcat服務
./shutdown.sh
./startup.sh
7.遊覽器訪問自己的網站,發現地址邊上多了一把鎖,並且地址從http變成了https