微信小程序開發Tomcat自動https跳轉配置教程。
簡單說來使用https協議的網站,信息的傳遞是進行了加密的,即使被人截取了,也沒法輕易知道里面的信息,所以被稱為安全的?,F在百度、淘寶這種大型網站都是自動跳轉https連接了。
我呢,是覺得每次登陸自己的網站時Chrome,Firefox都提醒我建立了不安全連接,有點強迫癥,感覺不爽,所以就想給網站加個ssl證書。
SSL證書準備
申請途徑有很多,我是在騰訊云上申請的免費的DV SSL(免費,頒發快,只驗證域名所有權,如果是用與tomcat下申請時一定要填密碼),其他類型的一般都要收費,申請成功后下載下來會有一個www.xxxx.com.jks這種類型的文件,這就是tomcat需要的jks格式證書。
如果你從其他地方申請的,沒有jks,.crt(證書文件)和.key(私鑰文件)肯定是有的,可以去https://www.trustasia.com/tools/cert-converter.htm轉為JKS就行了(目標格式選擇JKS,密鑰庫密碼一定要寫,其他不用管,我也就轉過一次,如果還有問題可以問問客服)
進入tomcat下的conf文件夾,下面有個server.xml文件,修改此文件:
在中添加如下代碼:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="/opt/tomcat/apache-tomcat-8.5.12/conf/www.xxxxx.com.jks" ="xxxxxx" clientAuth="false" sslProtocol="TLS" />
keystoreFile配置自己的JKS證書地址,可以使絕對地址也可以是相對地址。
keystorePass配置密鑰。
clientAuth如果是true則只有安裝了對應證書的計算機才能訪問,如果是false則任何計算機都能訪問。
修改port=“80”的Connector
Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
把redirectPort指向443端口,也就是上面添加的Connector就行了。
也可以直接把之前的port=“80”的Connector的相關參數配置得和port=“443”的Connector一樣,但是一般不這樣做,因為這樣不方便以后跟換Connector配置。
如上步驟完成后,只是可以用https://開頭訪問對應網站,但是只輸入www.xxx.com時,訪問的還是https://www.xxx.com,不會自動變成https://www.xxx.com,要讓http自動變成https,還需要修改同目錄下的web.xml。
操作很簡單,只需要在后面(文件末尾)添加如下代碼即可。
<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>
配置完成了,重啟tomcat訪問試試效果吧。
新聞熱點
疑難解答