Linux 安裝 、配置Tomcat的HTTPS
安裝Tomcat
這里選擇的是 tomcat 10.X ,需要Java 11及更高版本
下載頁 ->Binary Distributions ->Core->選擇 tar.gz包
- 下載、上傳到內網服務器 /opt 目錄
- tar -xzf 解壓
- 將解壓的根目錄改名為 tomat-10 并移動到 /opt 下, 形成個人習慣的路徑 /opt/tomcat-10
配置 HTTPS
- 生成SSL證書 :
keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/keystore.jks
- vim /opt/tomcat-10/conf/server.xml ,https配置一開始是被注釋的,取消注釋并修改
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"maxParameterCount="1000" clientAuth="false" sslProtocol="TLS"keystoreFile="/opt/keystore.jks" keystorePass="123456"><UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /><SSLHostConfig><Certificate certificateKeystoreFile="/opt/tomcat/keystore.jks" certificateKeystorePassword="123456"type="RSA" /></SSLHostConfig></Connector>
如果你是.pkf 證書問題,參考如下
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"scheme="https" secure="true"keystoreFile="/path/to/your_certificate.pfx"keystoreType="PKCS12"keystorePass="your_keystore_password"clientAuth="false" sslProtocol="TLS"/>
- 云服務器記得開云防火墻端口
- 重啟 Tomcat:
./bin/shutdown.sh
./bin/startup.sh
- 失敗的話,去根目錄下的logs目錄下查看catalina.log日志排除問題
- 如果僅允許https,把http的8080的connect塊注釋掉即可
tips
1.
- 查看tomcat 默認https端口是否監控
netstat -tuln | grep 8443
- 校驗 .jks 文件 密碼
驗證密碼
keytool -list -v -keystore /path/to/your_keystore_file.jks
更改密碼
keytool -storepasswd -keystore /path/to/your_keystore_file.jks
- 沒有.jks文件的話,需要將 .cet 和 .cem 文件轉換為 PEM 格式(使用openssl 命令工具轉換),再將.pem證書文件導入到.jks文件
1.創建一個新的 .jks 文件:
keytool -genkey -alias myalias -keyalg RSA -keystore mykeystore.jks
2.導入證書到 .jks 文件:
keytool -import -alias myalias -file mycertificate.pem -keystore mykeystore.jks
3.驗證導入的證書
keytool -list -v -keystore mykeystore.jks
2. 證書文件拓展名介紹
.crt
(Certificate):
.crt 文件是證書文件的常見擴展名,包含公鑰證書信息。通常用于存儲服務器
的證書,用于驗證服務器的身份。.cer
(Certificate):
.cer 文件是證書文件的擴展名,包含公鑰證書信息。通常用于存儲 CA
簽發的證書或中間證書。.pem
(Privacy Enhanced Mail):
.pem 文件是一種通用的文件格式,用于存儲加密和證書等信息。在 HTTPS 配置中,.pem 文件可以包含證書、密鑰、證書鏈
等信息。通常有密碼.jks
(Java KeyStore):
.jks 文件是 Java KeyStore 的縮寫,用于存儲證書和私鑰
信息。在 Java 應用程序中常用 .jks 文件來管理 SSL 證書和私鑰。是一種java應用的專用格式.pfx/.p12 (PKCS#12)
:
.pfx 或 .p12 文件是一種通用證書格式,用于存儲私鑰、證書和證書鏈
等信息。通常用于在不同系統之間安全地傳輸和存儲證書和私鑰。.der (DER Encoded X.509)
:.der 文件是二進制格式的證書文件,通常包含 X.509 標準的證書信息。.csr (Certificate Signing Request)
:.csr 文件是證書簽發請求文件,用于向證書頒發機構(CA)申請證書。包含公鑰和證書請求者信息,用于生成證書。