五分鐘搞定 HTTPS 配置,手把手教

FreeSSL.cn 是一個免費提供 HTTPS 證書申請、HTTPS 證書管理和 HTTPS 證書到期提醒服務的網站,旨在推進 HTTPS 證書的普及與應用,簡化證書申請的流程。

01、關於 FreeSSL.cn

FreeSSL.cn 是一個免費提供 HTTPS 證書申請、HTTPS 證書管理和 HTTPS 證書到期提醒服務的網站,旨在推進 HTTPS 證書的普及與應用,簡化證書申請的流程。

當然了,我看重的不是免費,而是 FreeSSL 使用起來非常人性化。我是一個計算機常識非常薄弱的程序員(羞愧一下),但通過 FreeSSL,我竟然可以獨自完成 Tomcat 的 HTTPS 配置!

很多年以前,公司要做華夏銀行的接口對接,需要 HTTPS 訪問,大概花了 3000 塊買的證書,最後證書還有問題,HTTPS 也沒搞定。總之,坑的很!


五分鐘搞定 HTTPS 配置,手把手教

FreeSSL.cn 有很大的不同,申請非常便捷,優點很多,值得推薦一波。畢竟再也不用郵件、電話各種聯繫了(也許時代進步了)。

  • 100% 永久免費;這要感謝 Let’s Encrypt 與 TrustAsia 提供的免費 SSL 證書。
  • 在 HTTPS 證書到期前,FreeSSL.cn 會及時地提醒更換證書,免費的服務。
  • 私鑰不在網絡中傳播,確保 HTTPS 證書的安全。

02、使用 FreeSSL 申請證書

第一步,填寫域名,點擊「創建免費的 SSL 證書」


五分鐘搞定 HTTPS 配置,手把手教


第二步,填寫郵箱,點擊「創建」


五分鐘搞定 HTTPS 配置,手把手教


1)證書類型默認為 RSA

RSA 和 ECC 有什麼區別呢?可以通過下面幾段文字瞭解一下。

HTTPS 通過 TLS 層和證書機制提供了內容加密、身份認證和數據完整性三大功能,可以有效防止數據被監聽或篡改,還能抵禦 MITM(中間人)攻擊。TLS 在實施加密過程中,需要用到非對稱密鑰交換和對稱內容加密兩大算法。

對稱內容加密強度非常高,加解密速度也很快,只是無法安全地生成和保管密鑰。在 TLS 協議中,應用數據都是經過對稱加密後傳輸的,傳輸中所使用的對稱密鑰,則是在握手階段通過非對稱密鑰交換而來。常見的 AES-GCM、ChaCha20-Poly1305,都是對稱加密算法。

非對稱密鑰交換能在不安全的數據通道中,產生只有通信雙方才知道的對稱加密密鑰。目前最常用的密鑰交換算法有 RSA 和 ECDHE:RSA 歷史悠久,支持度好,但不支持 PFS(Perfect Forward Secrecy);而 ECDHE 是使用了 ECC(橢圓曲線)的 DH(Diffie-Hellman)算法,計算速度快,支持 PFS。

2)驗證類型默認為 DNS

DNS文件驗證有什麼區別呢?我們再來一起了解下。

首先,我們需要明白一點,CA(Certificate Authority,證書頒發機構) 需要驗證我們是否擁有該域名,這樣才給我們頒發證書。

文件驗證(HTTP):CA 將通過訪問特定 URL 地址來驗證我們是否擁有域名的所有權。因此,我們需要下載給定的驗證文件,並上傳到您的服務器。

DNS 驗證:CA 將通過查詢 DNS 的 TXT 記錄來確定我們對該域名的所有權。我們只需要在域名管理平臺將生成的 TXT 記錄名與記錄值添加到該域名下,等待大約 1 分鐘即可驗證成功。

所以,如果對服務器操作方便的話,可以選擇文件驗證;如果對域名的服務器操作比較方便的話,可以選擇 DNS 驗證。如果兩個都方便的話,請隨意選啦。

3)CSR生成默認為離線生成

離線生成

瀏覽器生成我有 CSR 又有什麼區別呢?來,我們繼續瞭解一下。

離線生成 推薦!!!:私鑰在本地加密存儲,更安全;公鑰自動合成,支持常見證書格式轉換,方便部署;支持部分 WebServer 的一鍵部署,非常便捷。

離線生成的時候,需要先安裝 KeyManager,可以提供安全便捷的 SSL 證書申請和管理。下載地址如下: https://keymanager.org/

Windows 的話,安裝的時候要選擇“以管理員身份運行”。

瀏覽器生成:在瀏覽器支持 Web Cryptography 的情況下,會使用瀏覽器根據用戶的信息生成 CSR 文件。

Web Cryptography,網絡密碼學,用於在 Web 應用程序中執行基本加密操作的 JavaScript API。很多瀏覽器並不支持

我有 CSR:可以粘貼自己的 CSR,然後創建。

第三步,選擇離線生成,打開 KeyManager


五分鐘搞定 HTTPS 配置,手把手教


填寫密碼後點擊「開始」,稍等片刻,出現如下界面。


五分鐘搞定 HTTPS 配置,手把手教


第四步,返回瀏覽器,點擊「下一步」,出現如下界面。


五分鐘搞定 HTTPS 配置,手把手教


第五步,下載文件,並上傳至服務器指定目錄下。

五分鐘搞定 HTTPS 配置,手把手教

第六步,點擊「驗證」,通過後,出現以下界面。

五分鐘搞定 HTTPS 配置,手把手教

第七步,點擊「保存到KeyManager」,可以看到證書狀態變成了已頒發。


五分鐘搞定 HTTPS 配置,手把手教


03、為 Tomcat 配置 jks 格式證書

第一步,導出證書。假如服務器選擇的 Tomcat,需要導出 Java keystone (簡拼為 jks)格式的證書。

五分鐘搞定 HTTPS 配置,手把手教

注意:私鑰的密碼在配置 Tomcat 的時候用到。

五分鐘搞定 HTTPS 配置,手把手教

第二步,上傳證書至服務器。

五分鐘搞定 HTTPS 配置,手把手教

第三步,配置 Tomcat 的 server.xml。

<code> <connector>                        maxThreads="250" maxHttpHeaderSize="8192" acceptCount="100" connectionTimeout="60000" keepAliveTimeout="200000"
redirectPort="8443"
useBodyEncodingForURI="true" URIEncoding="UTF-8"
compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,application/xml,application/json,text/javascript,application/javascript,text/css,text/plain,text/json,image/png,image/gif"/>

<connector> protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443" maxThreads="200"

scheme="https" secure="true" SSLEnabled="true"
keystoreFile="/home/backup/qingmiaokeji.cn.jks" keystorePass="Chenmo"
clientAuth="false" sslProtocol="TLS"
useBodyEncodingForURI="true" URIEncoding="UTF-8"
compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,application/xml,application/json,text/javascript,application/javascript,text/css,text/plain,text/json,image/png,image/gif"
/>
/<connector>/<connector>/<code>

其中 keystorePass 為導出證書時私鑰的加密密碼。

第四步,重啟 Tomcat,並在瀏覽器地址欄中輸入 https://itwanger.cn/ 進行測試。


五分鐘搞定 HTTPS 配置,手把手教


注意到沒,瀏覽器地址欄前面有一個綠色的安全鎖,這說明 HTTPS 配置成功了!好了,為自己鼓個掌!

04、最後

你有沒有買個五分鐘的時間沙漏?如果超過五分鐘 HTTPS 還沒有配置成功,你過來揍我!


分享到:


相關文章: