如何為 WordPress 獲取免費 SSL 證書和 HTTPS

已發表: 2018-06-12

SSL 證書通過加密您的網站和最終用戶之間的連接來保護您的網站。

由於 58.4% 的用戶主要或僅使用 Chrome 瀏覽器,因此確保您的 WordPress 網站通過 SSL 和 HTTPS 確保安全以幫助訪問者信任您的網站非常重要。

獲取 SSL 證書既快捷又免費。 在自動化客戶端 Certbot 的幫助下,Let's Encrypt 是一家著名且值得信賴的免費 SSL 證書提供商。

今天,我將分享有關 SSL、HTTPS、Let's Encrypt 和 Certbot 的更多詳細信息,以及如何在您的 Web 服務器上手動安裝、管理和更新免費 SSL 證書,以保護您的 WordPress 網站,使其在 Chrome 中無錯誤顯示.

什麼是 SSL 和 HTTPS,為什麼需要它?

SSL 證書是由證書頒發機構 (CA) 為將加密密鑰綁定到其附加網站的域名頒發的公共數字文檔。

所有具有有效 SSL 證書的網站都使用 HTTPS 和 SSL 協議,該協議對網站服務器和最終用戶瀏覽器之間的通信進行加密。

為您的網站擁有有效的 SSL 證書可確認您的網站對於用戶輸入信息是值得信賴的,而不是簡單地在其 URL 中使用“https”的網站。 它還可以防止黑客劫持連接以獲得未經授權的訪問。

有關詳細信息,請查看為什麼 WordPress 網站的 HTTPS 和 SSL 是絕對必要的。

什麼是讓我們加密?

Let's Encrypt 是由 Internet Security Research Group (ISRG) 提供的自動化 CA,這是一個致力於使 Internet 成為更安全的地方的非營利組織。 Let's Encrypt 僅頒發免費的 SSL 證書,並且通過在 Web 服務器上運行證書管理代理來加快該過程。

證書類型

Let's Encrypt 對域驗證 (DV) 證書進行身份驗證,這是 CA 提供的最低級別證書,並且僅確認網站擁有其聲稱的域名。

截至 2018 年 1 月,Let's Encrypt 還提供通配符證書,允許您使用單個證書保護網站的所有子域。 例如, info.example.comabout.example.com

您還必須具有特定的 ACMEv2 協議,因此,客戶端已更新為支持 ACMEv2。

有關詳細信息,請查看 ACME 客戶端實現。

Let's Encrypt 證書有效期為 90 天,無一例外,他們建議每 60 天更新一次,這樣您就有 30 天的時間來解決任何可能的問題。 雖然,可以配置自動續訂,具體取決於您的服務器。

如何獲得證書

從 Let's Encrypt 獲得免費 SSL 證書的最簡單方法是通過您的虛擬主機。

Let's Encrypt 與許多 web 主機以及許多默認情況下啟用 Let's Encrypt 並重定向到 HTTPS 的提供商合作。

如果您的託管服務不知道 Let's Encrypt,您可以聯繫他們並讓他們知道這是一個選項。

如果您的託管服務不兼容,在您的 Web 服務器上放置 Let's Encrypt 免費 SSL 證書的最簡單方法之一是使用 Certbot,它是一個自動客戶端,可在您的 Web 服務器上獲取和部署您的 SSL 證書。

根據 Certbot 的文檔,“Certbot 旨在建立一個在結構上更加私密、安全且不受審查的網絡。”

證書機器人網站
Certbot 根據您的軟件和操作系統提供易於使用的說明。

安裝 Certbot

Certbot 為各種不同的操作系統和服務器打包。 找出理想設置的最佳方法是訪問 Certbot 的網站並閱讀具體的安裝說明。

在大多數情況下,您需要 root 訪問權限或管理員級別的功能來授權 CertBot。

安裝通常通過 SSH 進行,SSH 是一種安全的 shell 加密協議,允許通過不安全的網絡傳輸文件。 流行的 SSH 客戶端是 Mac OS X 的終端和 Windows 的 PuTTY。

安裝證書

根據您的設置和站點的需要,有多種方法可以在您的站點上安裝 Let's Encrypt DV 證書。 Certbot 網站會根據您的特定服務器設置引導您完成安裝過程。

如前所述,如果他們選擇啟用此選項,您還可以通過您的網絡主機自動安裝證書。 由於每個虛擬主機各不相同,請查閱您主機的文檔以獲取設置說明。

如果您想安裝通配符證書,則必須使用 DNS 插件。

您可以查看 Certbot 文檔了解詳細信息。

獨立模式

例如,如果您沒有 Apache 或 Nginx 之類的服務器軟件,並且您對獲取任何軟件不感興趣,那麼獨立插件方法是一個合適的選擇。

該插件需要綁定到 Web 服務器端口 80(用於 HTTP)或 443(用於 SSL)以驗證域,因此您可能需要事先釋放服務器上的這些端口。

它們都用於加載您的站點,但如果兩者都不可用,Certbot 可能會拋出錯誤。 關閉和打開端口的過程取決於您的操作軟件,因此請根據需要查閱所需的特定文檔。

在確保安裝了 Certbot 並且端口 80 或 443 可用後,在您的 SSH 客戶端中輸入以下命令。 請注意,根據您使用的端口,命令會略有不同。

//For Port 80
certbot certonly --standalone --preferred-challenges http -d example.com

//For Port 443
certbot certonly --standalone --preferred-challenges tls-sni -d example.com

分解它, certonly獲得(或在某些情況下,更新)證書,但不安裝它,--standalone 告訴Certbot運行獨立的 Web 服務器進行身份驗證, --preferred-challenges指定 Certbot 將使用的帖子和-d指定您為其請求 SSL 證書的域名。

運行命令後,系統會提示您輸入您的電子郵件地址並同意條款和條件。

完成後,您將收到一條消息,告訴您該過程已完成以及證書的位置。

Webroot 插件

如果您有能力修改服務器上的內容,則可以選擇使用 webroot 方法。 安裝證書的 webroot 方法將驗證文件放置在 Web 服務器上的特定位置。

這種方法很方便,因為您不必切換任何端口,也不必擔心在安裝過程中關閉活動站點。

知道要使用 webroot 插件可能很重要,您需要確保您的服務器配置為顯示來自隱藏目錄的文件,特別是 /.well-known 文件夾。

在您的 SSH 客戶端中運行此命令以安裝 webroot 方法:

certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com

certonly命令獲取證書, –webroot告訴 Certbot 我們正在使用的方法,您需要包含-w–webroot-path以及包含 Web 服務器提供的文件的最上層目錄的文件路徑, –webroot-path /var/www/html是一個通用的 webroot 路徑。

有關詳細信息,請查看 Certbot 文檔。

您的證書所在的位置

所有密鑰和頒發的證書都可以在/etc/letsencrypt/live/$domain中找到,更新發生時會保持更新。

以下是證書中的文件列表:

  • Privkey.pem – 您的私鑰存儲在此處,應保密,即使對 Certbot 開發人員也是如此。 但是,您必須保持服務器可以訪問它,但只能由 root 用戶訪問。
  • Fullchain.pem - 你所有的證書都存儲在這裡,如果有多個,第一個是服務器證書。
  • Cert.pem - 這包含單個服務器證書。
  • Chain.pem——所有中間證書以及驗證服務器所需的證書都存儲在這裡。

如果您想檢查目錄的文件內容,請在 SSH 客戶端中使用 ls /etc/letsencrypt/live/example.com命令來顯示列表。

更新您的證書

Certbot 旨在通過檢查所有已安裝的證書是否即將到期,然後嘗試更新它們,從而使更新盡可能容易。

下面的命令檢查多個證書,並始終考慮它們是否即將到期。

certbot renew

它將更新任何剩餘有效期少於 30 天的證書。 您可以根據需要盡可能頻繁地運行它,因為沒有提前更新的危險。

如果您有多個域名並且只想更新其中一個,使用certonly的這個命令可以解決問題:

certbot certonly -n -d example.com -d www.example.com

請注意:Certbot 建議包含-n–noninteractive以防止阻止用戶輸入。

結論

安裝 SSL 證書是任何 WordPress 網站必不可少的安全措施。 Let's Encrypt 和 Certbot 提供快速、免費的方法來使用 HTTPS 和 SSL 證書保護您的域和網站。

有關全面的詳細信息,請查看廣泛的 Certbot 文檔和社區論壇。

您是否能夠使用 Let's Encrypt 成功安裝免費的 SSL 證書? 您安裝 SSL 證書的原因是什麼? 在下面的評論中分享您的經驗。