到現在還不爲你的網站添加 https 的話,瀏覽器已經會非常顯眼地顯示“不安全”了。

感謝 Let’s Encrypt,感謝 buypass,個人使用申請 https 證書的話已經可以免費了。

關於域名

我們使用 FreeSSL.org 申請的是域名證書,對一個或多個域名生效。所以,你至少需要擁有一個域名。如果沒有,去 https://tld-list.com/ 輸入你心儀的域名,然後找到最便宜的一家買一個吧!

第一步:輸入域名

打開 https://freessl.org/ ,在輸入框中輸入你想要申請證書的域名,然後點擊“創建免費的SSL證書”。

下面有提供商的選擇,選 Let’s Encrypt V2 的話,我們可以申請泛域名證書,但有效期只有 3 個月。也就是說 3 個月之後你需要重新申請(重新申請的步驟可以簡化,後面會說)。選擇 buypass 的話,不能申請泛域名證書,但一次申請可以管 6 個月,比較省事兒。

可能需要解釋一下泛域名。泛域名是帶通配符的域名,例如 *.walterlv.com 就是一個泛域名。值得注意的是,這隻能代表所有的二級域名。

com 是一個頂級域名, walterlv.com 是一個一級域名, 是一個二級域名。而泛域名 `*.walterlv.com` 範圍涵蓋了二級域名 ,但是不包含一級域名 `walterlv.com` 和三級域名 `s.blog.walterlv.com`。

所以你不能指望申請一個泛域名適用你的所有網站。但是! FreeSSL.org 自動爲你的泛域名創建兩個證書,對我們初學者來說非常友好,不容易出錯!如下圖所示。

▲ 當輸入了一個泛域名之後,點擊“創建免費的SSL證書”,會自動把上一級域名也自動生成了。

第二步:填寫郵箱

輸入你自己的郵箱,然後點擊“點擊創建”。

第三步:安裝並用 KeyManager 打開

推薦下載安裝 KeyManager ,這可以在接下來的步驟當中省去一堆手工配置,也爲將來重新申請證書帶來更高的效率。

下載安裝完成後,如果打開 KeyManager 的提示已經消失,可以點擊“再次嘗試啓動KeyManager”打開:

打開 KeyManager 後不需要任何操作,直接回到瀏覽器中剛剛的頁面即可。(當然,如果提示登錄或設置密碼,則需要輸入密碼)

回到瀏覽器後點擊“繼續”:

第四步:驗證域名

需要驗證這個域名確實是你自己的,按照它的說明,去你的域名管理頁面中配置一個或兩個記錄(取決於你申請幾個證書)。 ![按照提示配置域名](/static/posts/2020-01-12-20-24-48.png) 你需要前往你購買域名的域名提供商的網頁裏去設置。如果你已經改了域名服務器,就需要去改了之後的域名服務商那裏設置。 設置方法是添加一個新的設置,類型是 TXT,名稱是和值是上面頁面中給你提供的值。 ![設置 TXT 記錄值](/static/posts/2020-01-12-20-29-23.png) ### 第五步:點擊驗證 回到 頁面,點擊“點擊驗證”,如果通過,這時會繼續提示進入 KeyManager 軟件。如果沒有通過,不要緊,等幾分鐘再試,不同的域名服務器生效的時間有差異。 ### 第六步:導出證書 在 KeyManager 的證書管理頁面,點擊單個域名最右邊的“…”按鈕,點擊“詳情”,拉倒最下面點擊“查看證書”,再點擊“導出證書”。 ![證書詳情](/static/posts/2020-01-12-20-33-06.png) ![查看證書](/static/posts/2020-01-12-20-33-54.png) ![導出證書](/static/posts/2020-01-12-20-34-30.png) 選擇你希望導出的證書平臺,決定是否要爲證書設置密碼,點擊“導出”。 ![選擇導出平臺](/static/posts/2020-01-12-20-35-38.png) 我應該選擇哪個平臺? 如果你使用 Nginx 或 frp 反向代理服務器,那麼導出爲 Nginx 平臺。參見: - [使用 Frp 爲你的 Web 服務添加 https 支持](/post/add-https-support-for-web-service-using-frp) - [使用 Nginx 爲你的 Web 服務添加 https 支持](/post/add-https-support-for-web-service-using-nginx) 如果你使用 IIS 反向代理服務器,或者直接使用 Kestrel 對外提供 https 粉刷說,那麼導出爲 IIS 平臺。參見: - [使用 Kestrel 爲你的 ASP.NET Core 服務添加 https 支持](/post/add-https-support-for-asp-dotnet-using-kestrel) 如果你使用 Apache 或者 Tomcat 作爲 Web 服務器,則選擇對應的平臺。 ### 最後 將證書用於你的 Web 服務器,參見: - [三種方法爲 ASP.NET Core 對外服務添加 https 支持(kestrel / frp / nginx)](/post/add-https-support-for-asp-dotnet)

相關文章