WordPress SSL:這是你應該知道的
已發表: 2020-05-27
如果您的企業有在線業務,無論您應用多少 SEO 策略,您似乎都無法獲得良好的搜索引擎排名,或者訪問者只是從您的網站反彈。
您決定審核您的網站並發現一個痛苦的事實:您的網站上沒有安裝 SSL 證書! 換句話說,您網站的安全性似乎不僅對搜索引擎而且對訪問者來說都是不可靠的。
在本文中,您將了解 SSL 是什麼以及它為什麼重要? SSL 證書有什麼優勢,它是如何工作的? 存在哪種類型的 WordPress SSL 證書,哪種最適合您的網站?
這些只是您在安裝 WordPress SSL 之前應該了解的一些問題。
- 什麼是 SSL?它為什麼重要?
- SSL 證書如何工作?
- SSL 證書:驗證和類型
- 使用 SSL 證書的優勢
- 讓我們加密:免費的 SSL/TLS 證書
- 在 WordPress 上安裝免費 SSL 證書
- 在 WordPress 上安裝付費 SSL 證書
- 什麼是 HSTS,為什麼要使用它?
- Cloudflare 上的 SSL 證書(可選)
- 清除網站、託管和瀏覽器緩存
- 檢查 SSL 證書是否正常工作
- 識別並修復混合內容警告
- 為 Google Search Console 配置 HTTPS
什麼是 SSL?它為什麼重要?
安全套接字層 (SSL) 是服務器和瀏覽器之間加密通信的標準。 瀏覽器接收並解釋該證書並驗證其真實性。 一旦執行了驗證,所有通過安全連接發送的數據都會被加密。 瀏覽器用關閉的掛鎖圖標顯示此連接的存在,並在網址前添加 https。

超文本傳輸協議安全 (HTTPS) 是兩種協議的組合:HTTP 和 SSL。 HTTP 是傳輸數據的隧道,SSL 是加密隧道中數據的安全協議。 因此,未經授權訪問讀取、複製或解密服務器和客戶端之間的通信是(幾乎)不可能的。 典型的 SSL 證書包括:
- 一個域名和一個公鑰
- 有效性信息和序列號
- 證書頒發機構的簽名
SSL 證書具有臨時有效期(通常最多 90 天),因此必須定期更新以保證您網站的持續可信度。 這些證書是所有處理個人數據和敏感財務信息的網站的強制性要求。
谷歌為 SSL 安全網站提供更好的 SERP 排名的舉措也表明了安裝 SSL 證書的重要性。 自 2014 年以來,SSL 證書已成為所有網站的必備組件。 下圖顯示了通過 SSL 認證的網站加載的頁面百分比的大幅增長。

WordPress 的聯合創始人 Matt Mullenweg 曾表示:“我們只會推廣在其帳戶中默認提供 SSL 證書的託管合作夥伴。 ” 此外,您還可以看到特別提到對託管要求的 HTTPS 支持。
SSL 證書如何工作?
SSL 協議是一個四層結構(SSL 記錄、握手、更改密碼規範和警報協議),可安全地加密服務器和瀏覽器之間的數據。 這些層允許使用用於加密/解密的密鑰以及基於使用公鑰和私鑰的身份驗證模型。

在此模型中,公鑰用於加密數據,而私鑰用於解密。 這發生在 SSL 協議的握手層,在此交換用於加密和解密數據的非對稱加密密鑰。
SSL 證書:驗證和類型
SSL 證書通常分為三個驗證級別:
1. 域驗證(DV)
證書頒發機構驗證申請人使用特定域名的權利。 不檢查域背後公司的身份。 當用戶單擊安全站點掛鎖時會顯示該信息。 您可以猜到,這是一個非常基本的 SSL 驗證級別。
2. 組織驗證 (OV)
證書頒發機構檢查申請人使用特定域名的權利以及該域名背後組織的有效性。
組織驗證 (OV) 更複雜,但它可以保證域的合法性並識別公司的所有者,從而為訪問者提供更多信心。 它通常被電子商務企業和企業網站使用。
3. 擴展驗證 (EV)
認證機構驗證申請人使用特定域名的權利,並對組織進行詳細檢查。 CA/瀏覽器論壇的指南中廣泛定義了使用擴展驗證 (EV) 頒發證書的過程。
擴展驗證 (EV) 是 SSL 證書驗證的最高級別,需要出示文件和法律許可來驗證公司的存在。 使用 EV,用戶可以在瀏覽器的地址欄中看到安全的站點封條。
除了驗證之外,SSL 證書還可用於多種應用程序配置:
1. 單域
如果您只想保護一個域,單域證書是您的最佳選擇。 這些證書僅適用於頂級域(例如website.com) 。 這種類型的 SSL 證書適用於所有驗證級別。
2. 多域
這種類型的證書使用單個 SSL 證書認證多個域(例如, website.com 、 website.com.uk) 。 請注意,根據證書頒發機構的不同,受保護域的數量可能會有所不同。 多域 SSL 證書適用於除 EV 之外的所有驗證級別。
3. 通配符
它們用於具有多個子域的單個域。 頒發通配符 SSL 證書的證書頒發機構有權限制受保護子域的數量。 這種類型的 SSL 證書適用於除 EV 之外的所有驗證級別。
4. 多域通配符
這些證書是多域證書和通配符證書的組合。 您可以使用這些證書來保護多個頂級域以及子域。 同樣,限制可能因證書頒發機構而異。 這種類型的 SSL 證書可用於除 EV 之外的所有驗證級別。
使用 WordPress SSL 證書的優勢
至此,你已經能夠知道SSL證書的重要性了。 現在是時候了解 SSL 證書的優勢了。
- 信任:通過 SSL 證書,訪問者知道他們與網站的連接是加密的,從而提高信任度和可信度。
- 合法性:因為很明顯,所有活動都發生在已知且受到適當保護的網站上。
- 安全性:訪問者知道信息是加密的,因此數據將是安全的,不會受到任何類型的第三方未經授權的訪問或攻擊。
- 排名: Google 偏愛具有 SSL 且地址中包含 HTTPS 的網頁。
特別推薦企業使用 SSL 證書,尤其是處理用戶個人數據的在線商店。
讓我們加密:免費的 SSL/TLS 證書
Let's Encrypt 是一個免費的自動化證書頒發機構 (CA),它免費提供有效期為 90 天的域驗證 (DV) 證書。 此服務由 Internet 安全研究組 (ISRG) 提供。 擁有域名和託管服務的任何人都可以免費將 Let's Encrypt SSL 證書添加到 WordPress。
證書的激活時間還可能取決於 Let's Encrypt 資源的可用性以及證書頒發機構本身的一系列限制。 這些限制包括:
- 每個註冊域的證書(每週 50 個)
- 每個證書的名稱(最多 100 個)
- 獨特的子域(每週最多 5,000 個)
- 重複證書(每週 5 個)
要查看這些限制的詳細信息,請參閱 Let's Encrypt Rate Limits。 從現在開始,我還將使用 Let's Encrypt SSL 證書來演示實用的想法。
在進入下一部分之前,我建議備份您的 WordPress 網站,以便您可以隨時恢復它,以防萬一出現問題。 您可以通過兩種方式進行備份:通過 WordPress 備份插件或服務器端備份。 或者,您可以創建 WordPress 登台環境或克隆整個網站進行測試。
在 WordPress 上安裝免費 SSL 證書
我在本文中使用 Cloudways 平台,並假設您已經註冊了一個帳戶,啟動了一個帶有 WordPress 應用程序的服務器,並將其指向您的域。 如果沒有,您可以通過以下方式使用 WordPress 啟動服務器。
在下一步中,從左上角的菜單欄中轉到應用程序。 您可以看到您的 WordPress 應用程序安裝在您的服務器上。 單擊您的應用程序以進入應用程序管理儀表板。

在您的站點上添加單域 WordPress SSL
在安裝 WordPress SSL 之前,請確保您的域具有完整的 DNS 傳播功能。 否則,您將無法安裝 SSL 證書。
在下一步中,輸入您的域名和用於創建 Cloudways 帳戶的相同電子郵件地址。 現在,單擊安裝證書。

在您的站點上添加多域 WordPress SSL
要在多個域上安裝 Let's Encrypt WordPress SSL 證書,請單擊添加域並輸入與您的 WordPress 網站關聯的域名。 完成後,單擊安裝證書。

為子域添加通配符 SSL 證書
您只需要標記應用通配符複選框。 向您提供需要添加到域註冊商的 CNAME 記錄需要一些時間。

登錄您的域名註冊商並添加包含類似信息的 CNAME 記錄:
- 類型: CNAME
- 主持人: _acme-challenge
- 值: [您的網站網址]
完成後,返回SSL 證書部分並單擊驗證 DNS 。 它將驗證設置並相應地通知您。 在下一步中,單擊安裝證書以在您的站點上安裝 WordPress SSL。
Let's Encrypt WordPress SSL 證書的自動更新
如果您將Auto-Renewal選項設置為Enable ,Cloudways Platform 會自動處理續訂過程。 您也可以隨時通過單擊“立即更新”按鈕來更新它。

或者,您可以使用 SSL 監控服務來確保所有 SSL 證書都有效並且您的客戶端沒有收到安全警告。
安裝付費 WordPress SSL 證書
對於付費 SSL 證書,您首先需要在 WordPress 應用程序上啟用證書籤名請求 (CSR)。
轉到SSL 證書部分,從下拉菜單中選擇“我沒有證書”,然後單擊“創建 CSR” 。

如果您想在多個域上使用單個 WordPress SSL 證書,請選中顯示 SAN 的複選框並在表單中添加域名。

提交表單後,將生成 CSR。 在下一步中,單擊下載 CSR按鈕以下載 CSR 文件。

將下載的 CSR 文件提交給您的 WordPress SSL 證書提供商,以根據您的要求生成 SSL 證書。
SSL 證書提供商會為您提供兩個文件: [yourdomain].crt (證書代碼)和[yourdomain].ca (鏈文件)。 單擊安裝證書,您將看到一個要求證書代碼和CA 鏈的彈出窗口。 在各自的字段中提交此信息。

提交此信息後,單擊提交,您就可以開始了。 SSL 現在應該適用於您的 WordPress 網站。
什麼是 HSTS,為什麼要使用它?
HTTP 嚴格傳輸安全 (HSTS) 是一個 Web 服務器指令,它告訴 Web 瀏覽器和用戶代理如何處理與您網站的連接。 它在最開始發送一個帶有指令的響應頭。

有時 HTTPS 是不夠的,因為攻擊者仍然會找到通過 http:// 訪問您的網站的方法。 HSTS 強制瀏覽器使用 HTTPS(如果可用)。 為 WordPress SSL 證書配置 HSTS 非常簡單。 如果您在 Apache 服務器上託管,請將以下幾行添加到 .htaccess 文件中。
# 使用 HSTS 強制客戶端只使用安全連接 標頭始終設置 Strict-Transport-Security "max-age=300; includeSubDomains; preload"
在將 HSTS 添加到您的 WordPress 網站之前,請確保您閱讀以下先決條件:
- 該網站必須安裝有效的 SSL 證書。
- 使用 301 永久重定向將所有 HTTP 鏈接重定向到 HTTPS。
- 確保所有子域都包含在您的 SSL 證書中。 (考慮通配符證書)
Cloudflare 上的 WordPress SSL 證書(可選)
如果您以一種或另一種方式使用 Cloudflare,則需要採取一些額外的步驟。 首先,禁用 Cloudflare,否則配置過程可能會失敗。
第1步
登錄到您的 Cloudflare 儀表板,然後在 DNS 選項卡下,使用切換開關禁用www和[yourdomain].com選項。 如果為灰色,則表示該服務已禁用。

第2步
現在,轉到Cloudways Platform → Server Management → Settings and Packages部分,在Advanced選項卡中,在WAF Module 下選擇Cloudflare ,然後單擊Save Changes按鈕。

第 3 步
返回 Cloudflare 儀表板並啟用您在步驟 1 中禁用的選項。 單擊頂部的SSL/TLS選項卡並將 SSL/TLS 加密模式設置為Flexible 。 Cloudflare 最多可能需要 24 小時才能激活證書。 但是,如果您之前已經使用過同一個域,它將立即被激活。

證書激活後,將其切換為Full (strict) 。
清除網站、託管和瀏覽器緩存
現在,是時候檢查是否安裝了免費的 WordPress SSL 證書。 在繼續之前,通過導航到Cloudways Platform → Server Management → Manage Services清除網站緩存以及服務器端緩存(如 Varnish)。

檢查 SSL 證書是否正常工作
我假設您已經為您的網站安裝了 Let's Encrypt WordPress SSL 證書並正確配置了所有內容。 現在,是時候測試 SSL 證書了。 訪問您的網站並檢查顯示的圖標。

如果您看到第二個圖標,則表示 SSL 證書工作正常。 如果您看到第三個圖標,則表示該網站正在使用 SSL 證書,但頁面上的某些元素未使用 HTTPS,這種現象稱為混合內容。
SSL Labs 提供了一個出色的 SSL 檢查工具,您只需在其中輸入您的域名,它就會分析並給出如下所示的報告。

許多 Cloudflare 用戶在嘗試將免費的 Let's Encrypt WordPress SSL 證書導入 Cloudflare 免費帳戶上的域時報告問題。 上面的設置應該可以工作,但如果不行,請嘗試以下步驟:
- 登錄 Cloudflare 並選擇要使用的域。
- 從頂部菜單選項中選擇SSL/TLS
- 將 SSL/TLS 加密模式更改為靈活
- 將始終使用 HTTPS 設置為開啟
- 在 HSTS 部分下,啟用 HSTS
- 將 Max-Age 設置為3 個月
- 包括子域:關閉(根據需要更改 - 閱讀上文)
- 預加載:關閉
- 將最低 TLS 版本設置為TLS 1.2
- 機會加密:開啟
- 設置 TLS 1.3:開
- 自動 HTTPS 重寫:開啟(啟用重定向)
- 禁用 Universal SSL (再次閱讀上文)。 通過這樣做,您不再使用 Cloudflare SSL 證書,而僅使用您的服務器提供的證書。
上述過程由來自Hosting Canada – Web Hosting Reviews 的Gary Stevens提供。
將 URL 從 HTTP 更改為 HTTPS
轉到您的WordPress 儀表板 → 設置 → 常規→ WordPress 地址 (URL)和站點地址 (URL) 之前 →輸入 https 而不是 http → 並單擊頁面底部的保存更改。 這會將所有內部 URL 替換為https:// 。

為 WordPress 登錄頁面強制 SSL
通過更改 WordPress 儀表板中的 URL,所有網站 URL 也應更改。 如果沒有,您可能希望通過在 wp-config.php 文件中配置 SSL 來強制 WordPress 登錄區域使用 SSL。
在 wp-config.php 文件中,在“僅此而已,停止編輯! ”
定義('FORCE_SSL_ADMIN',真);
上面這行將強制 WordPress 登錄頁面使用 SSL(URL 通常為:wp-admin/wp-login.php)
通過 .htaccess 文件將 HTTP 重定向到 HTTPS
如果有人使用 HTTP 訪問您的網站,則服務器不會被迫通過 HTTPS 提供服務。 在下一步中,我將向 .htaccess 文件添加一條規則,用於將所有流量從 HTTP 重定向到 HTTPS。 在進行任何更改之前,請將 .htaccess 文件備份到異地位置,因為單個點可能會影響您的 WordPress。
登錄到您的 WordPress 主機 → 導航到 WordPress 根目錄 → 使用任何編輯器打開 .htaccess 文件 → 將以下行粘貼到 .htaccess 文件的開頭。
重寫引擎開啟
RewriteCond %{http:X-Forwarded-Proto} !HTTPS
重寫規則 ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L].htaccess 文件應該類似於:
重寫引擎開啟
RewriteCond %{http:X-Forwarded-Proto} !HTTPS
重寫規則 ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# 開始 WordPress
<IfModule mod_rewrite.c>
重寫引擎開啟
重寫基數 /
重寫規則 ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
重寫規則。 /index.php [L]
</IfModule>
# 結束 WordPress將 CDN URL 更新為 HTTPS
如果您使用的是 WordPress CDN,請將 WordPress URL 更新為 https://(就像我在上面的 Cloudflare 部分中介紹的那樣)。
混合內容警告
訪問您的網站並確認所有內部鏈接都已移至 https://。 如果您仍然可以在某些網頁上看到信息圖標,則表明正在通過 HTTP 提供一個或多個 URL。 您需要識別這些 URL。
識別混合內容警告 URL
為了演示混合內容場景,我向帖子添加了一個圖像,並通過轉到帖子的文本編輯器將 URL 更改為 HTTP。 接下來,我訪問了帖子並打開了開發者控制台(檢查元素)。 單擊錯誤圖標並在搜索欄中輸入“mix”。 這將顯示所有通過 HTTP 提供服務且需要更新為 HTTPS 的 URL。

就我而言,它只是圖像 URL。 但是,您的網站上可能會使用來自沒有 WordPress SSL 證書的域的一些外部圖像、樣式表或腳本。 您需要手動將它們移動到 https://。 或者,您可以刪除它們或將這些文件移動到您的服務器。
JitBit 的 Non-SSL URLs 是一個優秀的在線工具,可以抓取和檢查網站上的非 SSL 鏈接。 我掃描了我的測試網站,下面的屏幕截圖顯示了通過 HTTP 提供的 URL。

有多種方法可以修復混合內容警告問題。 讓我們討論其中的一些:
方法 1:使用 Velvet Blues 更新 URL 插件
有一個有用的插件 Velvet Blues Update URLs 可以檢查所有 URL 並相應地更新它們。 安裝插件後,轉到WordPress 儀表板 → 工具 → 更新 URL → 如下配置插件 → 然後單擊立即更新 URL 。

方法 2:使用更好的搜索替換插件
Better Search Replace 是另一個很棒的插件,可以將數據庫中的 HTTP URL 替換為 HTTPS。 安裝插件後,轉到WordPress儀表板→工具→更好的搜索替換→如下配置插件→然後單擊運行搜索/替換。

方法 3:使用真正簡單的 SSL 插件
配置免費 HTTPS 的最簡單方法是使用真正簡單的 SSL 插件。 安裝插件後,轉到WordPress 儀表板 → 設置 → SSL 。 如果一切正常,您將看到如下所示的內容,如果配置有誤,您將看到一個紅色叉號以及修復該警告的說明。

真正簡單的 SSL 會在加載頁面時替換 URL。 這可能會對性能產生輕微影響,如果您使用的是 WordPress 緩存插件,那麼影響只會出現在第一次加載上。
為 Google Search Console 配置 HTTPS
要在 Search Console 中跟踪 HTTPS 鏈接,請轉至Google Analytics Dashboard → 管理→ 選擇所需的屬性並單擊屬性設置→ 將默認 URL從http://更改為https:// →並單擊頁面末尾的保存。

您已完成如何為 WordPress 獲取免費 SSL 證書。 請不要忘記將所有預定義的 URL 從 HTTP 更改為 HTTPS,因為它們將通過 Google Analytics 進行跟踪。
包起來!
如果您已經到達這裡,那麼您現在可以想像 WordPress SSL 的重要性以及如何在您的 WordPress 中安裝它。 如果您不使用它,您將失去潛在客戶,訪問者會因為感到不安全而放棄您的網站,最重要的是,您將失去搜索引擎排名。
最後一個問題在谷歌的案例中尤為嚴重。 這負責懲罰沒有 SSL 證書的頁面。 更不用說打開網絡釣魚和數據盜竊之門的可能性了。 如果您有任何問題,請隨時在下面的評論部分提問。
