一尘不染

禁止使用Apache VirtualHost 403

linux

我最近尝试使用Apache设置测试服务器。该站点必须在domain下运行www.mytest.com。我总是会403 Forbidden出错。我使用的是Ubuntu 10.10服务器版本。doc根目录在dir下/var/www。以下是我的设置:

/ var / www的内容

ls -l /var/www/

total 12
drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com
-rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html

服务器上主机文件的内容(IP 192.168.2.5)

cat /etc/hosts

127.0.0.1 localhost 
127.0.1.1 americano
192.168.2.5 americano.mytest.com www.mytest.com

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

网站配置

<VirtualHost *>
ServerAdmin admin@mytest.com
ServerName www.mytest.com
ServerAlias mytest.com

DocumentRoot "/var/www/mytest.com"

ErrorLog /var/log/apache2/mytest-error_log
CustomLog /var/log/apache2/mytest-access_log combined

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None

Order allow,deny
Allow from all
</Directory>
</VirtualHost>

.htaccess我的文档根目录中没有文件。权限设置正确(可通过www-data读取)。

如果我从桌面输入IP地址,则该站点将正确显示。我将桌面上的主机文件更改为指向www.mytest.com服务器的IP。使用它时,我得到了403。由于此站点的许多功能都对站点名称敏感,因此我必须能够通过域名访问该站点。

另一个时髦的事情是,即使正确创建了所有日志文件,它们也没有有关此错误的信息。

我被困住了。有人可以帮忙吗?


阅读 205

收藏
2020-06-02

共1个答案

一尘不染

Apache
2.4.3(或者可能更早)添加了一项新的安全功能,该功能通常会导致此错误。您还将看到“服务器配置拒绝客户端”形式的日志消息。该功能要求用户身份才能访问目录。它由Apache随附的httpd.conf中的DEFAULT启用。您可以通过指令看到该功能的启用

Require all denied

这基本上是说拒绝所有用户访问。要解决此问题,请删除拒绝指令(或者更好),将以下指令添加到您要授予访问权限的目录中:

Require all granted

<Directory "your directory here">
   Order allow,deny
   Allow from all
   # New directive needed in Apache 2.4.3: 
   Require all granted
</Directory>
2020-06-02