Tomcat 使用 certbot 部署Let’s Encrypt生成免費SSL證書,Tomcat配置HTTPS

Let’s Encrypt 作爲新的證書頒發機構,免費,自動,開放,這三點對於個人用戶來說尤爲重要。免費自不用說,自動更是免去了很多過程和麻煩。官網目前推薦的獲取和安裝方式是 certbot ,只需要簡單運行一些命令並作一些配置即可。

環境

  • 阿里雲服務器(我的是centOS)
  • Tomcat

前提

  • 系統中已經裝好JDK
  • 已經解析好域名
  • 配置服務器中的安全組,開放80端口和443端口(Tomcat中的端口配置用到這兩個端口)
  • Tomcat可以正常運行,並且可以用解析好的域名訪問

安裝certbot

使用自動安裝腳本

一、下載自動安裝腳本

wget https://dl.eff.org/certbot-auto

二、授予腳本執行權限

chmod a+x certbot-auto

三、執行腳本

./certbot-auto

執行這個腳本會自動下載安裝依賴,中間需要輸入幾次“y”來確認下載操作,最後可能會卡在“Installing Python packages”幾分鐘,不要終止操作讓它安裝完成!

申請ssl

一、

./certbot-auto certonly --standalone --email [email protected] -d oumuv.xin

附上郵件和域名
執行腳本會彈出的兩個選項 一個選擇同意 A 另外一個選擇 Y 就行。下圖所示就是成功後的結果,可以看到生成的一個fullchain.pem和一個privkey.pem文件存放在/etc/letsencrypt/live/oumux.xin/中

在這裏插入圖片描述

二、

將文件複製出來,我就複製到Tomcat目錄下:

cp fullchain.pem  /usr/local/tomcat8/conf/letsencrypt
cp privkey.pem  /usr/local/tomcat8/conf/letsencrypt

三、進入該目錄下,執行命令生成.p12文件

此命令會要求輸入一個密碼,我這裏就取“123456”

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat

四、生成.jks證書

keytool -importkeystore -deststorepass 'yourJKSpass' -destkeypass 'yourKeyPass' -destkeystore MyDSKeyStore.jks -srckeystore fullchain_and_key.p12 srcstoretype PKCS12 -srcstorepass 'yourPKCS12pass' -alias tomcat

這裏的yourPKCS12pass就是上一步中設置的密碼,yourJKSpass密碼和yourKeyPass也可以跟yourPKCS12pass一樣

Tomcat配置

修改或增加配置:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" 
URIEncoding="UTF-8" maxThreads="150" SSLEnabled="true" 
scheme="https" secure="true" clientAuth="false" 
sslProtocol="TLS" 
keystoreFile="/usr/local/tomcat8/conf/letsencrypt/MyDSKeyStore.jks" 
keystorePass="123456" 
keyAlias="tomcat" 
keyPass="123456"/>

重啓Tomcat,測試

直接訪問https://oumuv.xin/成功進入Tomcat頁面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章