【WordPress】解決當網站使用Cloudflare快取時,無法登入後台的bug

目前我這個部落格的網域DNS是使用Cloudflare,因此可以使用它所提供的CDN來為網站加速,讓客倌們瀏覽時可以快一些。但是這麼做又產生了一個問題:就是我要登入後台時,會被擋在登入頁面,不得其門而入。簡單來說就是輸入帳號密碼並送出之後,頁面又會重新整理並回到登入畫面,完全無法進入後台或者兩步驟驗證的下一步。今天這篇文章就是分享我解決這個bug的方法(有兩個,本人親測都有效)。

問題概述

問題症狀就如我在開篇時所描述的,在登入畫面輸入帳號密碼並送出之後,頁面會重新整理並重新出現登入畫面,無法進行下一步的兩步驟驗證(如果有設定兩步驟驗證的話)或者進入後台;即便將瀏覽器快取與Cookie清理,甚至更換瀏覽器也是一樣。

由於我有設定使用Cloudflare快取加速,因此我就想:問題八九不離十就是出在Cloudflare那裏了。以下是我嘗試過的兩個解決方法:

解決方法一:將DNS紀錄中的Proxy選項關掉(即直接停用Cloudflare的CDN加速)

首先我是將Cloudflare上,指向我的部落格的網址的DNS記錄中的Proxy選項關閉,就是讓Cloudflare不再幫我快取部落格的內容。完成之後再將伺服器上的Web Server與PHP服務重開一下,就正常了。

目前這個方法在我這裡的實測是有效的;如果你希望保留Cloudflare的CDN加速的話,那就繼續看下面這一個解決方法吧。

解決方法二:直接在Cloudflare上設定規則,使其不針對WordPress後台做快取

這是我在Google上搜尋”wordpress cloudflare login”時找到的方法,有關內容還是在Cloudflare的官方社群中找到的。原始內容如以下鏈結(由domjh發表。Thank you domjh!):

Unable to login to my wordpress – Getting Started – Cloudflare Community

注意:Cloudflare免費版最多只能設定3條網頁規則,要設定更多的話必須付費購買。

步驟如下:

  1. 登入你的Cloudflare控制台
  2. 選擇網域(如果有多個網域,就選擇發生問題的那一組)
  3. 舊版畫面:點選上方的「規則」
    新版畫面:在左半邊的選單找到並點選「規則」
    最後確定畫面顯示的是「網頁規則」
  4. 點選「建立網頁規則」
  5. 在URL欄位輸入「你的WordPress網站網址/wp-admin」
    下面的規則分別設定如下(就是跟上圖一樣的設定):

    1. 停用網路安全
    2. 快取等級:略過
    3. 停用效能
  6. 最後將其儲存,並確定規則已啟用
  7. 重開網頁伺服器服務(可到使用的虛擬主機的後台、NAS的管理頁面,或者是直接用SSH下指令;看網站是用什麼樣的主機代管)
    我的話是使用SSH下指令,執行sudo systemctl restart nginx(本例使用Nginx)

之後Cloudflare的CDN在快取時,就會跳過後台的內容。目前我這裡測試也是有效的,可以正常登入後台,沒有問題。

總結

起初發現這個問題時,我還以為是WordPress上的哪個外掛又出問題了,結果把可能肇禍的外掛停用之後卻發現問題還在。當時我已經做了最壞的打算,一是直接從備份中把網站還原,二是直接把網站打掉重建。還好當下意識到網站有使用Cloudflare的CDN加速,所以就把調查重點轉到它身上,結果一次就中,果然就是Cloudflare的CDN在鬧烏龍。

最後很幸運發現了這個方法,既可以繼續使用CDN,又不用擔心因此讓後台登入不了。謹將此方法分享出來,提供給遭遇類似問題的朋友們一個參考。

在〈【WordPress】解決當網站使用Cloudflare快取時,無法登入後台的bug〉中有 3 則留言

  1. https://porncaine.com 回覆

    Wonderful work! Thiss is tthe kin off information thawt arre
    ment tto be shared around the web. Disgrace on Googl foor now nott possitioning thbis submit upper!
    Coome on ovdr annd visit myy web site . Thanks =)

  2. Graig 回覆

    Hello, its fastidious parayraph on thhe topic of media print, wee alll bbe
    aare of media is a wonderfful source off information.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料