什么是及如何修复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编辑

然后,查找如下所示的代码片段:

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. 联系服务器提供商协助解决。

评论留言