tomcat 配置 Let's Encrypt 多域名免費證書 centos 6.5

本文出現的意圖html

因爲公司最近由於IOS版本的升級,開始全面推廣https,全部的IOS客戶端都要使用ssl證書。公司買了阿里的證書一年要五千多,

感受仍是挺貴的。後來去了解原來還有免費證書這個東西,就想着去搗鼓一下,網上教程不少,標準不一,大體都差很少。因爲

每一個機器的環境都不同,致使遇到的狀況也是不太同樣。對於很多人來講,問題仍是挺多的。若是大夥不想本身去配置,能夠

下載寶塔的面板來管理網站,它就有一鍵部署Let's Encrypt 的功能,我在騰訊雲下使用寶塔沒有出現問題,你們也能夠用他來建站。

寶塔官網:點擊跳轉java

配置 Let's Encrypt 免費證書的準備python

一、 首先把你的域名解析到這臺服務器,這裏是多域名配置,那至少解析兩個子域名過來啦,我這裏解析的是  ssl.huiyanxian.cn ,

	tssl.huiyanxian.cn 切記是A解析啊

二、 首先你要配置好你的java環境,包括jdk,tomcat的安裝。個人端口改成了80,具體配置以下(能夠不按照個人來配置)

   <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
  
   <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https"
	   secure="true" keystoreFile="生成證書的路徑" keystorePass="證書的密碼"
		  clientAuth="false" sslProtocol="TLS" />

三、 由於在安裝過程當中須要安裝很多依賴,由於默認源在國外,致使依賴失敗,因此須要先把源改成國內源,你們能夠用網易163的源,

	或者阿里的,我這裏用的是阿里的源,具體更換方法參考我前面的另外一片文章  https://blog.huiyanxian.cn/articles/2017/06/15/1497490831833.html

四、 這裏是使用的是certbot-auto 來申請證書,python要升級到2.7,centos 6.5 默認的python版本是 2.6.6,升級python參考文章

	(https://blog.fazero.me/2016/10/13/centos-update-python/),這裏提供了一鍵腳本,以及把pip升級到了最新。

開始安裝centos

一、 安裝 certbot 

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

	chmod a+x certbot-auto
	
二、 申請ssl ,由於要驗證你的域名是否解析到了你的服務器,會借用你的80/443端口。因此在執行下面語句以前保證80/443 

	是沒有被佔用的。我這裏只須要關閉tomcat就行。

	./certbot-auto certonly --standalone --email xxxxxx@qq.com -d ssl.huiyanxian.cn -d tssl.huiyanxian.cn
	
	這裏是多域名的,想要在添加域名的話繼續在後面添加 -d 域名  email後面填寫的是你的郵箱
	
	彈出的 兩個選項  一個選擇贊成  A  另一個選擇 Y 就行。
	
	等待到最後出現如下內容說明申請成功
	
	IMPORTANT NOTES:
   - Congratulations! Your certificate and chain have been saved at
	 /etc/letsencrypt/live/ssl.huiyanxian.cn/fullchain.pem. Your cert
	 will expire on 2017-09-14. To obtain a new or tweaked version of
	 this certificate in the future, simply run certbot-auto again. To
	 non-interactively renew *all* of your certificates, run
	 "certbot-auto renew"
   - Your account credentials have been saved in your Certbot
	 configuration directory at /etc/letsencrypt. You should make a
	 secure backup of this folder now. This configuration directory will
	 also contain certificates and private keys obtained by Certbot so
	 making regular backups of this folder is ideal.
   - If you like Certbot, please consider supporting our work by:

	 Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
	 Donating to EFF:                    https://eff.org/donate-le
	 
	說明申請成功,而且存放在了 這個文件下  /etc/letsencrypt/live/ssl.huiyanxian.cn/fullchain.pem
	
三、 合成tomcat的證書,在 tomcat 底下建立一個文件夾用來存放準備生產的證書(固然也能夠本身選擇一個目錄存放)
  
	個人目錄是:/usr/local/tomcat/conf/LetsEncrypt ,
	
	#進入申請證書的目錄,這個目錄會以第一個域名明明,不影響多域名使用。
	cd /etc/letsencrypt/live/ssl.huiyanxian.cn/  
	
	#複製到tomcat剛建立的證書目錄下
	cp fullchain.pem  /usr/local/tomcat/conf/LetsEncrypt
	
	cp privkey.pem  /usr/local/tomcat/conf/LetsEncrypt
	
	#進入到這個目錄
	cd /usr/local/tomcat/conf/LetsEncrypt/
	
	#生成.p12文件
	openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat
  
   這裏會被要求設置密碼,輸入就行(下面用到的:yourPKCS12pass)
   
  
	#生成.jks證書
	keytool -importkeystore -deststorepass 'yourJKSpass' -destkeypass 'yourKeyPass' -destkeystore MyDSKeyStore.jks -srckeystore fullchain_and_key.p12 
	
	srcstoretype PKCS12 -srcstorepass 'yourPKCS12pass' -alias tomcat

	其中 yourPKCS12pass 是上一步中設置的ssl證書密碼,這裏的yourKeyPass是要設置的keystore密碼,能夠與yourPKCS12pass一致,下面配置tomcat會用到

四、 配置tomcat
	
	<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
  
   <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" 
		keystoreFile="/usr/local/tomcat/conf/LetsEncrypt/MyDSKeyStore.jks" keystorePass="證書的密碼"
		clientAuth="false" sslProtocol="TLS" />

五、 完成,在tomcat建立兩個站點,放入一個簡單的.jsp文件,能夠經過https://ssl.huiyanxian.cn  https://tssl.huiyanxian.cn  便可訪問。

	免費證書只能用三個月,可是能夠經過腳本自動更新,後續我會補充相關的自動更新的方法。

參考文獻tomcat

一、certbot官方服務器

二、更新pythonjsp

三、配置生成證書ide

相關文章
相關標籤/搜索