什麼是及如何修復401錯誤

錯誤型別:
HTTP錯誤
錯誤名稱:
HTTP 401错误码
英文名稱:
HTTP 401 Error
錯誤描述:
401(未授权)状态代码表示该请求尚未应用,因为它缺少目标资源的有效身份验证凭据。生成401响应的服务器必须发送WWW-Authenticate头字段,其中包含至少一个适用于目标资源的质询。
錯誤變體:
“HTTP 401 Error – Unauthorized”
“401 Unauthorized”
“Access Denied”
更多資訊

什麼是及如何修復401錯誤

嘗試訪問WordPress站點並遇到錯誤頁面充其量是不方便的,無論該站點是您的站點還是其他站點的站點。與許多HTTP響應程式碼一樣,導致401錯誤如此令人沮喪的部分原因是缺乏用於診斷和解決問題的資訊。

任何瀏覽器都可能發生401錯誤,因此這是人們面臨的一個非常普遍的問題。在大多數情況下,此問題相對簡單且易於解決。

當您正在嘗試更新WordPress網站,但由於某種原因,您無法訪問後臺。更糟糕的是,你甚至無法進入WordPress登入頁面,而是返回一個401錯誤。

HTTP狀態401錯誤意味著瀏覽器證書的驗證問題。在本教程中,我們將解釋什麼401錯誤以及導致它的原因。然後,我們將介紹修復401錯誤的五種方法。

  1. 什麼是401錯誤程式碼
  2. 什麼導致401錯誤
  3. 如何修復401錯誤

什麼是401錯誤程式碼?

IETF將錯誤401 Unauthorized定義為:

401(未授權)狀態程式碼表示該請求尚未應用,因為它缺少目標資源的有效身份驗證憑據。生成401響應的伺服器必須傳送WWW-Authenticate頭欄位,其中包含至少一個適用於目標資源的質詢。

在某些時候,您可能嘗試登入WordPress並意外提交了錯誤的憑據。發生這種情況時,您會看到一個錯誤頁面,讓您知道自己犯了一個錯誤,但您仍然可以通過重新輸入正確的使用者名稱和密碼來獲得訪問許可權。

401錯誤與此類似,因為它涉及您嘗試使用錯誤的憑據訪問網站,但級別更高。如果您的瀏覽器沒有通過您網站的伺服器正確驗證,您甚至無法進入WordPress登入頁面。

發出請求時遇到問題時會遇到HTTP 400狀態程式碼。尤其是當您的瀏覽器拒絕您訪問您嘗試訪問的頁面時,會發生401錯誤。

結果,瀏覽器將載入錯誤訊息而不是載入網頁。401錯誤可能發生在任何瀏覽器中,因此顯示的訊息可能會有所不同。

例如,在Chrome或Edge中,您可能會看到一個紙質圖示以及一條簡單的訊息,告訴您相關頁面無法正常工作。它將在底部包含短語“HTTP Error 401”,並指示您在問題仍然存在時聯絡該站點的所有者:

Chrome中的401錯誤

Chrome中的401錯誤

在其他時間和其他瀏覽器中,您可能會收到一個不太友好的警告,它只是一個帶有“401 Authorization Required”訊息的空白頁面:

Nginx伺服器401 Authorization Required錯誤訊息

Nginx伺服器401 Authorization Required錯誤訊息

其他變體包括:

  • “HTTP 401 Error – Unauthorized”
  • “401 Unauthorized”
  • “Access Denied”

這些錯誤發生在需要登入才能訪問的網站上。在大多數情況下,這意味著憑據或瀏覽器將其讀取為有效的能力有問題。

這類似於HTTP 403 Forbidden Error,因為使用者不允許訪問。但是,與 403 錯誤不同,401 錯誤訊息表明身份驗證過程失敗。

該程式碼通過WWW-Authenticate標頭傳送,該標頭負責識別用於授予對網頁或資源的訪問許可權的身份驗證方法。

401 Authorization Required錯誤意味著您可以嘗試使用正確的憑據再次訪問資源。換句話說,這通常是一個臨時問題,與HTTP 403 錯誤不同,在這種錯誤中,您被明確禁止訪問您希望訪問的頁面。

在某些情況下,401錯誤會自行消失,要求再次訪問您的網站。但是,即使是短暫地被鎖定在您的網站之外也很不方便。您可以採取行動更快地到達後端,而不是坐在那裡希望您的瀏覽器能夠解決問題。

什麼導致401錯誤?

如果您在400秒中遇到錯誤程式碼,您就知道您正在處理客戶端(或瀏覽器端)問題。雖然這個問題可能您的瀏覽器內發生的事情,但是,這並不一定總是 意味著是罪魁禍首,我們將在後面詳細解釋。

401錯誤發生在受限資源上,例如WordPress網站的受密碼保護的頁面。因此可以安全地假設問題的原因與身份驗證憑據有關。

過時的瀏覽器快取和Cookie

您可能會遇到401錯誤的最常見原因之一是瀏覽器的快取和cookie已過期,從而導致授權無法成功通過。如果您的瀏覽器沒有使用有效的身份驗證憑據(或根本沒有),伺服器將拒絕該請求。

外掛不相容

在其他時候,此錯誤是由外掛不相容或錯誤引起的。例如,防火牆或安全外掛可能會將您的登入嘗試誤認為惡意活動,並返回401錯誤以保護頁面。

問題的根源也可能是由一個小錯誤造成的。此類別中的常見罪魁禍首包括錯誤鍵入的URL或過時的連結。

如何修復WordPress網站401錯誤

401錯誤的主要問題是它有多種潛在原因。這使得很難知道哪個正在影響您的瀏覽器。考慮到這一點,我們將討論幾種可能的修復方法,以便您可以解決它們。

1. 重新整理域名系統 (DNS) 記錄

在許多情況下,您的計算機會儲存有關您最常訪問的IP地址和URL的資料。這樣,它可以更快地處理未來的請求。

重新整理您的DNS涉及從您的計算機中刪除所有臨時資料。這樣,下次您嘗試訪問有問題的URL時,它會發出一個全新的請求並重新進行身份驗證。

重新整理DNS的過程因作業系統 (OS) 而異。如果您是Windows使用者,只需開啟命令提示符並鍵入 ipconfig/flushdns  命令:

重新整理DNS

Windows將返回一條成功訊息,您可以再次嘗試訪問您的網站。

Mac使用者需要遵循類似的過程,但您需要在終端中輸入的命令因您執行的 OSX 版本而異。最近三個迭代(Sierra、High Sierra 和 Mojave)的使用者可以使用sudo killall -HUP mDNSResponder

參考閱讀:如何清除/重新整理DNS快取(Windows,Mac,Linux)

2. 清除防火牆和瀏覽器快取

瀏覽器還可以儲存資料,因此它們不必每次訪問網站時都從頭開始載入。此過程稱為快取。在某些情況下,您可能無意中儲存了錯誤的登入資訊。

如果這是401錯誤的根源,修復它很簡單。大多數現代瀏覽器都可以讓您在幾分鐘內清除快取。例如,使用Chrome,您可以進入“設定”>“高階” 並查詢“清除瀏覽資料” 選項:

清除瀏覽資料

然後您可以指定您希望瀏覽器刪除哪些資料。選擇快取的影象和檔案 選項 ,然後單擊清除資料 按鈕:

清除快取的影象和檔案

嘗試再次訪問您的網站。如果問題仍然存在,則錯誤可能是由於防火牆的快取(如果您正在使用)。

在某些情況下,您的防火牆可能無法與您的伺服器通訊,從而導致身份驗證錯誤。解決此問題的過程將取決於您使用的工具。

如果您是Cloudflare使用者,則可以訪問儀表板並導航到快取 選項卡。在裡面,你會找到一個Purge Everything選項 ,其中包括防火牆的整個快取:

清除CDN快取

清除防火牆的快取不會影響其功能。最壞的情況是,您下次訪問您的網站時可能會遇到更長的載入時間,但這應該會在您的快取重建後自行解決。

如果您使用不同的防火牆工具,您需要檢視其文件並檢查它是否允許您手動清除快取。對於某些服務,您可能需要聯絡支援人員。

3. 檢測WordPress外掛和主題之間的衝突

與WordPress外掛和主題的相容性問題有時會觸發401錯誤。如果您有權訪問儀表盤,則停用任一元素以確定衝突來源很簡單。

只需單擊任何外掛名稱下的停用

外掛停用

對於您的主題,切換到WordPress預設設定,例如二〇一九或二〇二一。然後您可以一個一個地重新啟用每個外掛並等待問題再次發生。您應該能夠縮小有問題的元素。

但是,401錯誤可能會阻止您訪問儀表板。這意味著,要禁用外掛和主題,您需要使用檔案傳輸協議 (FTP)和FTP客戶端,例如FileZilla

連線到伺服器後,導航WordPress安裝目錄下的public_html>wp-content>plugins

FTP停用外掛

然後,通過右鍵單擊每個外掛的資料夾來重新命名它。像plugin-name _disabled這樣簡單的東西就可以了。這將阻止WordPress定位這些資料夾。

禁用外掛後,再次訪問您的網站。如果401錯誤消失,則意味著一個或多個元素之間的不相容是根本原因。

然後您可以返回FileZilla將您的外掛名稱改回。在每個站點之間檢查您的站點。當401錯誤再次出現時,您就會知道最近啟用的工具是罪魁禍首。

禁用主題的工作方式類似。轉到wp-content/themes,找到您正在使用的資料夾,然後重新命名:

FTP啟用WP預設主題

將自動啟用預設主題以替換它。再次測試您的網站以檢視401錯誤是否仍然存在。如果沒有,您的主題可能是問題的一部分,您需要尋找替代方案。

4. 禁用WordPress目錄的密碼保護

調整您的WordPress網站的 .htaccess 檔案(沒找到該檔案?)可以讓您實現幾個方便的功能。其中之一是密碼保護您的WordPress目錄,這在您的登入頁面之外增加了一層額外的安全性。

問題是,此級別的密碼保護不包括憑據的恢復過程。如果您忘記了它們,您就會被鎖定,除非您完全禁用該功能。

通過FTP可以輕鬆禁用憑據提示。您可以完全取消密碼保護功能,也可以為要訪問的目錄關閉密碼保護功能。

對於第一種方法,您需要在WordPress根 目錄中找到.htaccess 檔案 。右鍵單擊它並選擇 編輯 選項,這將使用您的預設文字編輯器開啟檔案:

.htaccess編輯

然後,查詢如下所示的程式碼片段:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ErrorDocument 401 /401.html
AuthName "Secure Area"
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/to/directory/.htpasswd
Require valid-user
ErrorDocument 401 /401.html AuthName "Secure Area" AuthType Basic AuthName "Password Protected Area" AuthUserFile /path/to/directory/.htpasswd Require valid-user
ErrorDocument 401 /401.html
AuthName "Secure Area"
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/to/directory/.htpasswd
Require valid-user

完全刪除此程式碼段將禁用所有目錄的密碼保護。

此外,每個相關目錄都應該有一個名為.htpasswd的第二個檔案刪除它也會刪除密碼保護,但僅限於該特定資料夾。

無論您決定採用哪種方法,請在進行必要的更改後嘗試重新訪問您的網站。如果這不起作用,則401錯誤的根源可能在更高的位置。

5. 聯絡伺服器提供商

如果其他一切都失敗了並且401錯誤持續了一段時間而沒有自行解決,那麼最好的辦法是與您的伺服器提供商取得聯絡。在此階段,您已經嘗試了所有其他方法,這意味著可能是與伺服器相關的問題導致了問題。

您的提供商的支援團隊可以使用更好的診斷工具,這意味著他們可以幫助您將問題的原因歸零。然而,處理工單可能需要一段時間,這就是為什麼明智之舉是首先嚐試自己解決401錯誤。

小結

在您的日常網路瀏覽中遇到錯誤並不少見。通常,這沒什麼大不了的。但是,當向您傳送401錯誤程式碼的網站是您自己的網站時,情況就變得很嚴重了。除非您設法對其進行故障排除,否則您可能會發現自己被鎖定了很長一段時間。

有很多方法可以解決WordPress網站上的HTTP 401錯誤。一些方法包括:

  1. 重新整理您的DNS記錄。
  2. 清除防火牆和瀏覽器快取。
  3. 測試WordPress外掛和主題之間的衝突。
  4. 禁用WordPress目錄的密碼保護。
  5. 聯絡伺服器提供商協助解決。

評論留言