Let’s Encrypt 作爲新的證書頒發機構,免費,自動,開放,這三點對於個人用戶來說尤爲重要。免費自不用說,自動更是免去了很多過程和麻煩。官網目前推薦的獲取和安裝方式是 certbot ,只需要簡單運行一些命令並作一些配置即可。
環境
- 阿里雲服務器(我的是centOS)
- Tomcat
前提
- 系統中已經裝好JDK
- 已經解析好域名
- 配置服務器中的安全組,開放80端口和443端口(Tomcat中的端口配置用到這兩個端口)
- Tomcat可以正常運行,並且可以用解析好的域名訪問
安裝certbot
使用自動安裝腳本
一、下載自動安裝腳本
二、授予腳本執行權限
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頁面