Java後臺開發Tomcat新增https支援小程式開發過程
阿新 • • 發佈:2019-09-15
1 給自己的域名申請證書
注意:申請好了如果不是在騰訊註冊的域名,不會自動通過,需要手動驗證的,驗證方法如下:https://cloud.tencent.com/document/product/400/6814
驗證成功之後,才會給你下發證書。
2 給Tomcat安裝https證書
操作步驟
參考文件:https://cloud.tencent.com/document/product/400/4143
證書安裝
-
已在 SSL 證書管理控制檯 中下載並解壓縮
www.domain.com
-
資料夾名稱:Tomcat
-
資料夾內容:
www.domain.com.jks
金鑰庫keystorePass.txt
密碼檔案(若已設定私鑰密碼,則無keystorePass.txt
密碼檔案)
-
CSR 檔案內容:
www.domain.com.csr
檔案說明:
CSR 檔案是申請證書時由您上傳或系統線上生成的,提供給 CA 機構。安裝時可忽略該檔案。
-
-
使用 “WinSCP” (即本地與遠端計算機間的複製檔案工具)登入 Tomcat 伺服器。
-
將已獲取到的
www.domain.com.jks
/usr/*/conf
目錄下。 -
遠端登入 Tomcat 伺服器。例如,使用 “PuTTY” 工具 登入。
-
編輯在
/usr/*/conf
目錄下的server.xml
檔案。新增如下內容:<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="/usr/*/conf/www.domain.com.jks" #證書儲存的路徑 keystorePass="******"#金鑰庫密碼 clientAuth="false"/>
詳細
server.xml
檔案請參考如下內容:<?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" keystoreFile="/usr/*/conf/www.domain.com.jks" keystorePass="******" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost=“www.domain.com"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name=“www.domain.com" appBase="webapps" unpackWARs="true" autoDeploy="true" > <Context path="" docBase ="Knews" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
配置檔案的主要引數說明如下:
- keystoreFile:金鑰庫檔案的存放位置,可以指定絕對路徑,也可以指定相對於 <CATALINA_HOME> (Tomcat安裝目錄)環境變數的相對路徑。如果此項沒有設定,預設情況下,Tomcat 將從當前作業系統使用者的使用者目錄下讀取名為 “.keystore” 的檔案。
- keystorePass:金鑰庫密碼,指定 keystore 的密碼。申請證書時若設定了私鑰密碼,請填寫私鑰密碼;若申請證書時未設定私鑰密碼,請填寫 Tomcat 資料夾中 keystorePass.txt 檔案的密碼。
- clientAuth:如果設為 true,表示 Tomcat 要求所有的 SSL 客戶出示安全證書,對 SSL 客戶進行身份驗證。
之後,重新啟動Tomat,即可完成!
文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號:
好好學java
,獲取優質學習