解决:403 Forbidden “You Don’t have permission to access on this server”

许多Web服务器配置面临与文件权限相关的问题。它经常使访问者无法访问服务器,并以“403 Forbidden”错误的形式出现。通常,错误信息是类似于“403 Forbidden:you don’t have permission to access/on this server”。它可以是任何形式的“Forbidden:you don’t have permission to access this resource”。”

类似的问题也可能由于Apache和NGINX配置文件中的问题,甚至由于损坏的. htaccess文件而发生。以下是所有这些问题的三个逐步解决方案。

什么原因导致Apache和NGINX 403 Forbidden Error?

这是Apache和NGINX端上一个相当常见的403错误,由无数问题引起。但是,在大多数情况下,错误是由于缺乏公开访问站点所需的适当权限而发生的。除此之外,WordPress网站经常面临这个问题,因为一个坏的. htaccess文件。

此外,从Apache2.4版开始,指令的工作方式发生了一些变化。这还会限制公众访问您的网站,并导致“403禁止”错误。

如何解决“403 Forbidden”错误

如果您正在使用一个网站,并遇到“403 Forbidden”的NGINX或Apache错误,请首先尝试清除浏览器的缓存数据和Cookie。如果您正在使用VPN,请确保禁用它,以防不当的VPN配置导致403错误。

另一方面,如果你是网站管理员,你应该知道大多数Apache和NGINX 403 Forbidden错误都是由不正确的文件权限设置和错误的配置文件引起的。

按照下面给出的解决方案一个接一个,让你的网站重新工作:

1.修复文件夹以避免403错误

大多数人都面临这个常见的403错误,因为缺乏适当的权限。如果站点管理员忘记启用对外部世界的读访问,那么最终用户将无法访问请求的资源。这往往是这个错误的根本原因。

例如,假设您试图访问WordPress站点上一个名为extbook.php的文件,并出现一个错误,指出您没有访问此服务器上的/extbook.php的权限。这意味着文件就在那里,但站点所有者已禁用对公共用户的访问。

解决:403 Forbidden

如果您是站点管理员,则需要确保供公众访问的文件具有适当的读取权限。否则,如果您在公共站点上遇到此错误,请通知站点管理员解决此问题。

为可公开访问的文件设置正确的权限可能有点棘手。这就是为什么管理员应该从绝对为零的权限开始,然后根据需要添加它们。最好让文件夹的权限模式为755,文件夹的权限模式为644。

对于一个简单的网站,目录需要有执行权限,文件应该有读权限。请确保不给予文件执行权限。恶意用户可以通过这些文件获得对公共服务器的不必要访问。

解决:403 Forbidden

读取、写入和执行访问的权限模式分别为4、2和1。因此,目录的权限模式为755意味着只有所有者才能完全访问目录内容。组用户和其他用户只能读取和执行。类似地,文件的644权限模式向所有者提供读写访问,而只向其他所有人提供读访问。

若要解决”禁止:您没有权限在任何服务器上访问此资源”等错误,请修复您的webroot目录权限。下面的命令使用chmod实用程序将目录权限设置为755:

sudo find/var/www/html—type d—exec chmod 755 {};

此命令假定您使用默认的Apache文档根目录来保存您的网站。如果您使用的是不同的目录,请相应地替换目录名。使用以下命令将所有文件权限更改为644:

sudo find/var/www/html—type f—exec chmod 644 {};

上面的命令使用find实用程序来定位单个文件,并通过chmod设置正确的权限。结尾的{}保存find命令返回的文件路径,而后缀(;)标记迭代的结束。

此外,您还可以单独更改文件权限。例如,以下命令将更改Web根目录上的extbook.php的权限,并使其可公开访问。因此,下次有人尝试访问此文件时,他们不会看到可怕的“您没有访问此资源的权限”错误。

sudo chmod 644/var/www/html/textbook.php

一旦您根据需要更改了所有文件权限,请重新启动Apache或NGINX服务器,以使您的更改生效。

sudo systemctl restart apache2.servicesudo systemctl restart nginx

这些命令分别在Ubuntu上重新启动Apache和NGINX服务器。然而,许多基于RPM的发行版(如RHEL或CentOS)将Apache安装为httpd。对于此类系统,请改用以下命令:

sudo systemctl restart httpd

2.修复您的WordPress网站的. htaccess文件

. htaccess文件作为分布式配置文件,告诉Web服务器如何处理每个目录的配置更改。有时此文件可能会被损坏,并可能导致”您没有权限访问/在此服务器”错误。

幸运的是,如果这是导致服务器上403错误的原因,您可以通过创建一个新的. htaccess文件轻松地修复这个问题。要为您的网站创建新的. htaccess文件,首先,登录到您的WordPress仪表板。然后,点击设置Permalinks。>

解决:403 Forbidden

您不必在这里做任何额外的更改。只需点击保存更改按钮,WordPress就会为您生成一个新的. htaccess文件。

解决:403 Forbidden

因此,当您在Apache服务器上看到“您没有访问此资源的权限”或“无法读取htaccess文件,拒绝访问以确保安全”时,请尝试创建一个新的.htaccess文件。这种方法通常适用于WordPress网站。

3.在Apache配置文件中配置指令

Apache2.4使用了一个名为mod_authz_host的新配置模块。本模块公开了几条新指令。简而言之,这实现了以下规则:

  • 要求所有授权:允许所有请求
  • 要求所有拒绝:拒绝所有请求
  • 要求主机www.example.com:仅允许来自safe.com的请求

如果您使用的是Apache 2.4,请确保您的主配置文件包含以下代码块。您可以使用一个简单的文本编辑器(如Vim)签出该文件的内容。如果缺少这些块,请在配置文件中添加此块。然后,你可以保存并退出Vim。

vim/etc/apache2.conf

代码:

<目录/&>不需要所有被拒绝的</目录&>不需要所有已授予的</目录&>不需要所有已授予的</目录&>;不需要所有已授予的</目录&>不需要所有已授予的</目录&>。

此外,如果您运行的是基于RHEL的Web服务器,则需要方便地访问您的Apache配置文件中的/var/www部分。因此,请确保/etc/httpd/conf/httpd.conf文件包含以下代码块:

vim/etc/httpd/conf/httpd. conf

代码:

<目录"/var/www">         允许无         要求所有授权/目录<>

最后,使用以下命令之一重新启动Apache服务器:

#对于Ubuntu和Debiansudo systemctl restart apache2.service#对于RHEL和CentOSsudo systemctl restart httpd

修复Linux上的403 Forbidden Server Permission Error

很多人在访问公共网站或配置自己的网站时都会面临上述问题。重置Apache或NGINX服务器的文件系统权限应该是第一个选择。如果更改权限后错误仍然存在,请尝试创建一个新的. htaccess文件,并确保在服务器配置文件中正确设置了指令。

还有更多的问题可能会导致类似于此的服务器端错误。您需要熟练地排除Linux服务器问题的故障,以便在这种情况下启动并运行您的服务器。

大鱼的头像

这个人很懒,什么都没有留下~

延伸阅读:

Windows 记事本终于获得自动更正和拼写检查功能

在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...

大鱼的头像
大鱼
2024 年 7 月 9 日
Ubuntu 的 apt 和 apt-get 命令有什么区别?

在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...

大鱼的头像
大鱼
2024 年 6 月 26 日
Ubuntu远程桌面:如何设置和连接

远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...

大鱼的头像
大鱼
2024 年 5 月 7 日
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)

利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...

大鱼的头像
大鱼
2024 年 5 月 19 日
将照片从iPhone传输到iPhone的8种快速方法

已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...

大鱼的头像
大鱼
2024 年 5 月 19 日