Apache VirtualHost 403 禁止 [英] Apache VirtualHost 403 Forbidden

查看:33
本文介绍了Apache VirtualHost 403 禁止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近尝试使用 Apache 设置测试服务器.该站点必须在域 www.mytest.com 下运行.我总是收到 403 Forbidden 错误.我使用的是 Ubuntu 10.10 服务器版.文档根目录位于 /var/www 目录下.以下是我的设置:

I recently tried to set a test server up with Apache. The site must run under domain www.mytest.com. I always get a 403 Forbidden error. I am on Ubuntu 10.10 server edition. The doc root is under dir /var/www. The following are my settings:

/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 读取).

I have no .htaccess file in my doc root. The permissions are set correctly (readable by www-data).

如果我在桌面上输入 IP 地址,该站点就会正确显示.我更改了桌面上的主机文件,将 www.mytest.com 指向服务器的 IP.当我使用它时,我得到 403.由于本站的很多功能都是对站点名敏感的,所以我必须能够通过域名访问该站点.

If I type in the IP address from my desktop, the site shows up correctly. I changed the hosts file on my desktop to point www.mytest.com to the server's IP. When I use it, I get 403. Since many functions of this site are sitename-sensitive, I have to be able to access the site by the domain name.

另一件奇怪的事情是,即使所有日志文件都正确创建,它们也没有关于此错误的信息.

Another funky thing is, even if all log files are created properly, they have no information regarding this error.

我卡住了.有人可以帮忙吗?

I am stuck. Can anybody help?

推荐答案

Apache 2.4.3(或可能稍早一些)添加了一个新的安全功能,该功能通常会导致此错误.您还会看到客户端被服务器配置拒绝"形式的日志消息.该功能需要用户身份才能访问目录.它由 Apache 附带的 httpd.conf 中的 DEFAULT 开启.您可以使用指令查看该功能的启用

Apache 2.4.3 (or maybe slightly earlier) added a new security feature that often results in this error. You would also see a log message of the form "client denied by server configuration". The feature is requiring a user identity to access a directory. It is turned on by DEFAULT in the httpd.conf that ships with Apache. You can see the enabling of the feature with the directive

Require all denied

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

This basically says to deny access to all users. To fix this problem, either remove the denied directive (or much better) add the following directive to the directories you want to grant access to:

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>

这篇关于Apache VirtualHost 403 禁止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆