如何修復WordPress網站常見的SSL問題

錯誤型別:
其他錯誤
錯誤名稱:
常见 SSL 问题
英文名稱:
Common SSL issues

如何修復WordPress網站常見的SSL問題

在 WordPress 網站上安裝安全套接字層(SSL)證書,就像僱了一個保鏢,將不速之客拒之門外。這是明智之舉。但偶爾你可能會遇到一些門衛問題。這些小插曲被稱為 SSL 問題。

顯然,沒有人希望自己的網站出現安全問題。但好訊息是, 大多數 SSL 錯誤都有簡單的解決方法。 只要稍加排查,就能讓網站恢復正常工作。

在這篇文章中,我們將詳細介紹如何在 WordPress 網站上安裝 SSL 證書,並修復出現的任何問題。

SSL/TLS究竟是什麼?

SSL 或安全套接字層是網際網路上的秘密握手。它是一種使用加密技術保護網路瀏覽器和網站之間所有資料傳輸的系統。這可以防止任何人竊聽您的連線。

TLS(傳輸層安全)是 SSL 的新替代品。它使用類似的技術發揮相同的作用,但安全性更高。

SSL/TLS 與超文字傳輸協議安全(HTTPS)(HTTP 的更新安全版本)一起工作。由於經過加密,HTTPS 提高了傳輸資訊的安全性。

我們通常仍在談論“SSL 問題”和“SSL 證書”,因為這些術語大家都很熟悉,但值得注意的是,TLS 在很大程度上已經取代了 SSL 協議–大多數現代瀏覽器只支援後者。

即便如此,在談論安全連線時,SSL 和 TLS 還是可以互換使用。

什麼是SSL/TLS證書?

在網路瀏覽器傳送任何資料之前,它需要驗證託管網路伺服器的身份。SSL/TLS 證書就像身份證一樣,證明伺服器是合法的。

在技術層面上,SSL/TLS 證書更像是一個加密金鑰。如果沒有最新的證書,任何瀏覽器都不可能安全地連線到你的網站。

為什麼要使用SSL/TLS

在 WordPress 網站上安裝 SSL/TLS 證書有幾個重要原因。

首先,它能讓你的主機伺服器與網路瀏覽器建立安全連線。這有助於防止安全漏洞,以免您的個人資訊和客戶資料受到損害。

因此,谷歌現在會懲罰沒有 SSL/TLS 證書的網站。例如,它可能會向試圖訪問該網站的使用者顯示 “不安全 ”或 “您的連線不安全 ”的警告資訊。

您的連線不是私有的

資訊的具體措辭可能會根據您使用的瀏覽器而有所不同,但概念是相同的。

最終,這會損害您的參與度,妨礙您的搜尋引擎最佳化(SEO)排名。因此,這也是確保網站安全的另一個很好的理由。

值得注意的是,某些型別的網站確實需要 SSL 證書才能有效執行。例如,如果你想開一家網店,就需要 SSL/TLS 加密,以便透過 Stripe、PayPal 和 Authorize.net 等閘道器接受線上支付。

如何修復WordPress中常見的SSL問題

既然我們已經對 SSL/TLS 有了一定的瞭解,下面我們就來談談它可能帶來的意外問題。

下面是 WordPress 中最常見的五種 SSL 問題,以及如何逐一解決。

1. .NET::ERR_CERT_INVALID錯誤

如果你是谷歌瀏覽器(Google Chrome)使用者,你可能遇到的最常見問題之一就是出現“NET::ERR_CERT_INVALID”錯誤資訊。其他瀏覽器也可能出現這種情況,只是提示資訊可能略有不同。

.NET::ERR_CERT_INVALID錯誤

在這兩種情況下,該錯誤都意味著網站連線不安全。更具體地說,它表明簽署 SSL 證書的證書頒發機構不在瀏覽器的可信提供商列表中。

除非你的 SSL 證書是從不正當渠道獲得的,否則更有可能是設定或配置出了問題。

出現這種情況時,你可以採取幾個步驟。首先,清除瀏覽器快取。如果還不行,請停用防毒軟體(這可能會干擾 SSL)。

如果本地解決方案不起作用,請檢查 SSL 證書是否分配給了正確的域或子域,並且沒有過期。

您可以點選瀏覽器位址列左側的小網站資訊按鈕或掛鎖圖示。證書的詳細資訊就會顯示出來,你要確保證書顯示“有效”。如果顯示“無效”,則需要儘快透過此處列出的發行提供商進行更新。

SSL證書資訊按鈕

如果您自己安裝了證書,可以嘗試重新安裝。不過,這次你可能需要使用不同的證書提供商,因為你的瀏覽器可能無法識別當前證書的頒發機構。我們建議使用 Let’s Encrypt

Let's Encrypt

如果證書分配給了正確的域並且是最新的,您可能需要聯絡您的託管服務提供商。他們應該知道該採取什麼措施來解決問題。

2. 混合內容錯誤

轉用 SSL 時可能遇到的另一種常見錯誤是混合內容警告。

簡而言之,當網站上的圖片、指令碼或樣式表在使用舊的、不安全的 HTTP 協議載入時,就會出現這種情況。換句話說,WordPress 的部分內容是安全的,而其他部分則不安全。嵌入式 YouTube 影片通常就是這種情況。

有兩種方法可以解決混合內容問題。第一種是使用一個外掛,如 Really Simple SSL

Really Simple SSL

在 WordPress 網站上安裝並啟用該工具後,外掛會提供啟用 SSL 的選項,並立即修復混合內容問題。如果你想做任何調整,可以透過 設定 > SSL & Security 訪問外掛。

Really Simple SSL儀表盤

如果您不想使用自動外掛,也可以選擇手動方法。要開始使用,請進入 WordPress 的 “設定”>“常規”

WordPress 地址(URL)站點地址(URL)下,檢查確保 URL 使用的是“https”。

WordPress 地址(URL)和站點地址(URL)

儲存更改後,即可安裝 Better Search Replace 外掛。

Better Search Replace 外掛

使用該工具,您可以輕鬆搜尋、查詢和替換 WordPress 資料庫中的舊 URL。啟用後,導航至工具 > Better Search Replace

Better Search Replace搜尋替換

在“搜尋”欄位中,可以新增以“http”開頭的網站 URL。然後,在“替換為”欄位中新增“https”。

完成後,儲存更改。現在,當你重新整理網站時,混合內容錯誤應該就會消失了。

注意:請記住備份您的網站,因為這會影響您的資料庫。

3. 重定向過多

有些 SSL 問題是由重定向過多錯誤引起的。如果你要求 WordPress 對網站的管理區執行 SSL/HTTPS,就會出現這種情況。

要解決這個問題,你需要編輯 wp-config.php 檔案。你可以使用安全檔案傳輸協議(SFTP)客戶端(如 FileZilla或虛擬主機賬戶中的檔案管理器找到該檔案。

要訪問網站目錄,請開啟標有域名的資料夾。在其中,你會找到 wp-config.php 檔案。

如果你使用的是 FileZilla,第一步就是連線到你的 WordPress 網站。如果這是你第一次使用 FTP 客戶端,你需要從你的虛擬主機獲取證書。連線後,在網站目錄中找到 wp-config.php 檔案。

wp-config.php 檔案編輯

開啟檔案並插入以下程式碼行

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
define('FORCE_SSL_ADMIN', true); // in some setups HTTP_X_FORWARDED_PROTO might contain // a comma-separated list e.g. http,https // so check for https existence if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on';
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';

確保將此新增到檔案底部,即“That’s all. Stop editing! Happy blogging.”。完成後,儲存更改並關閉檔案。

4. HTTP到HTTPS重定向

WordPress 不會自動將您的網站從 HTTP 重定向到 HTTPS,您需要告訴它這樣做。如果不建立這些說明,訪問者可能會看到 SSL 錯誤。

自 WordPress 5.7 版起,只需點選一下 WordPress 控制面板 “站點健康 ”部分的說明,就可以將網站遷移到 HTTPS。進入“工具”,選擇“站點健康”,然後點選按鈕將網站更新為 HTTPS。

如果該選項不適合你的網站,可以使用 Really Simple SSL 等外掛,或者透過編輯 .htaccess 檔案手動配置 HTTP 到 HTTPS 的重定向。同樣,你也可以透過 SFTP 或主機賬戶中的檔案管理器來完成。您可以在共享域名的資料夾中找到該檔案。

找到並開啟 .htaccess 檔案,然後新增以下程式碼

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

完成後請記得儲存更改。如果您不方便編輯網站檔案,建議使用外掛或聯絡您的託管服務提供商尋求幫助。

5. 名稱不匹配錯誤

當 SSL 證書中列出的域名與瀏覽器 URL 不匹配時,就會出現名稱不匹配錯誤。要修復這個錯誤,你只需在 .htaccess 檔案中新增以下程式碼:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

最後儲存更改。當你再次訪問 WordPress 網站時,應該不會再看到任何 SSL 錯誤資訊了。

如何修復其他常見的WordPress錯誤

需要解決網站上的其他技術問題?我們為你準備了幾份指南,幫助你排除一些最常見的 WordPress 錯誤

如果您正在尋找執行 WordPress 網站的技巧和最佳實踐,請檢視我們的 WordPress 教程。這裡彙集了專家撰寫的指南,旨在幫助您像專家一樣瀏覽 WordPress 儀表板。

SSL/TLS錯誤常見問題

對 SSL 和 TLS 仍有疑問?你來對地方了。下面是一些最常見的問題以及相應的答案:

Q:WordPress需要SSL嗎?

A:從技術上講不需要。但是,如今沒有 SSL/TLS 的網站會在所有瀏覽器中被標記為安全警告,並被所有搜尋引擎嚴重降權。

如果你的網站處理任何敏感資訊,如信用卡資訊,不使用 SSL 就是自找麻煩。

Q:如何在WordPress上手動安裝SSL證書?

A:首先,你需要購買並下載SSL證書檔案。然後,你需要在網路伺服器上生成證書籤名請求(CSR),啟用和安裝證書,並更新 WordPress 以使用 HTTPS。

手動操作是一個複雜的過程,因此我們有專門的 SSL 教學指南來提供幫助。

Q:為什麼我的每個網站都會出現SSL錯誤?

A:可能有以下幾個原因:

  • 時間和日期設定:SSL 證書對時間很敏感。如果你的電腦設定了錯誤的時間或日期,可能會導致連線無效。
  • 瀏覽器快取問題:瀏覽器快取中的資料損壞有時會破壞 SSL/TLS 驗證。
  • 軟體更新:不良更新有時會導致 SSL/TLS 出錯。
  • 防毒軟體:這些應用程式會干擾 SSL/TLS。
  • 網路代理:如果使用配置錯誤的 VPN,你可能會在每個網站上都看到 SSL/TLS 問題。

小結

如果你想保證網站的安全性並在搜尋結果中出現,那麼為 WordPress 網站新增 SSL 證書就非常重要了。通常,這是一個非常簡單的過程。但正如我們在這篇文章中所發現的,可能會出現一些小插曲。

下面簡要介紹最常見的錯誤及其解決方法:

  • .NET::ERR_CERT_INVALID 錯誤表明您的證書需要更新或重新安裝。
  • 混合內容錯誤可手動修復,或使用 Really Simple SSL 等外掛修復。
  • wp-config.php 檔案中新增程式碼可以解決重定向過多的問題。
  • WordPress HTTP 到 HTTPS 的重定向需要使用 Really Simple SSL 等外掛進行配置,或透過網站的 .htaccess 檔案手動配置。
  • 當證書域名和瀏覽器 URL 不匹配時,就會出現名稱不匹配錯誤;你需要在 .htaccess 檔案中新增程式碼。

評論留言