Https相關介紹
Https是由NetScape公司設計的一個基於Http的加密傳輸協議,可以這樣理解Https = Http +SSL(安全套接層),Https的端口為443,而且還需要申請CA數字證書認證。
3.Https的設置
①申明CA數字證書
這里推薦一個免費的阿里平台的CA數字證書,點擊申請 點擊Symantec>選擇證書類型增強型OV SSL,然后就會出現免費DV SSL。
進入證書控制台>點擊申請簽發證書>填寫申請信息,證書綁定你自己的域名:www.f8xn.top,等待申核。SSL證書:幾分鍾-幾小時左右可簽發。
域名授權驗證
RAM訪問控制,同意授權
授權系統自動添加TXT解析記錄,自動完成域名授權驗證(會在域名解析中自動增加一條txt記錄)。
數字證書有效期是在審核通過之后的1年內有效。免費證書只參綁定一個域名。
tomcat也可配置手動生成的SSL證書,這里不再介紹。
SSL證書安裝/配置
Tomcat6之前支持JKS格式證書,從Tomcat7之后開始支持PFX格式證書。
審核通過后到證書控制台下載SSL證收, 包含PFX格式證書和密碼文件。
阿里雲的服務器,只支持端口443!,所以我們配置<Connector port="8443 />"節點時,填端口改成443。
並在阿里雲上面添加開放443端口,才可以用https訪問Tomcat的網站(重點)。開放端口時選擇協議類型https443。
在你的tomcat目錄下,新建目錄/apache-tomcat-8/conf/cert,把你的證書_www..com.pfx拷貝進來。
修改server.xml
vim /apache-tomcat-8/conf/cert/server.xml
HTTP證書路徑keystoreFile建議使用絕對路徑/apache-tomcat-8/conf/cert/_www.com.pfx
證書密碼填寫剛才pfx-password.txt里的密碼keystorePass="yKmbolin"。
在protocol中建議使用“org.apache.coyote.http11.Http11Protocol”,這樣對性能有最大的優化。(但是這樣會不支持中文URIEncoding="UTF-8"。)
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/apache-tomcat-8/conf/cert/***_www.***.com.pfx" keystoreType="PKCS12" keystorePass="yKmbolin" 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"/>
tomcat6 JKS格式證書
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="/apache-tomcat-8/ssl/server.jks" keystorePass="123456" truststoreFile="/apache-tomcat-8/ssl/server.jks" truststorePass="123456" sslProtocol="TLS" />
clientAuth=”true”,則開啟雙向認證,客戶端訪問需要有客戶端證書;
keystoreFile 和 trustStroreFile 傳入您制作好的 JKS 文件的路徑,示例中以 server.jks 為例;
keystorePass 和 trustStrorePass 傳入您的 JKS 的密碼,示例中以 jks 的密碼 123456 為例。
Http自動跳轉Https
①編輯conf/web.xml文件
②在web.xml 文中上行</web-app>加上如下配置:
<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> 然后 :wq保存並退出。 ③重啟Tomcat服務 輸入 ./startup.sh
保存退出。重啟tomcat即可。
/apache-tomcat-85/bin/shutdown.sh
/apache-tomcat-8/bin/startup.sh
打開測試 https://www.***.com
查看網站的安全證書,在開發者工具上
按F12>Security>View certificate。
注意tomcat和jdk版本要各自支持
來自:https://www.cnblogs.com/f8xn/articles/10217768.html
https://blog.csdn.net/gary_yan/article/details/77981303
