首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >禁止使用Apache VirtualHost 403

禁止使用Apache VirtualHost 403
EN

Stack Overflow用户
提问于 2011-08-06 00:00:10
回答 12查看 209.1K关注 0票数 129

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

/var/www的内容

代码语言:javascript
复制
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)

代码语言:javascript
复制
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

站点配置

代码语言:javascript
复制
<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地址,该站点将正确显示。我更改了桌面上的hosts文件,使www.mytest.com指向服务器的IP。当我使用它时,我得到了403。由于这个网站的许多功能是网站名称敏感的,我必须能够通过域名访问该网站。

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

我被卡住了。有人能帮上忙吗?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2012-12-18 06:39:51

Apache2.4.3(或更早的版本)添加了一个新的安全特性,该特性通常会导致此错误。您还会看到一条日志消息,格式为"client denied by server configuration“。该功能需要用户身份才能访问目录。默认情况下,它在Apache附带的httpd.conf中处于打开状态。您可以使用以下指令查看该功能的启用

代码语言:javascript
复制
Require all denied

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

代码语言:javascript
复制
Require all granted

如图所示

代码语言:javascript
复制
<Directory "your directory here">
   Order allow,deny
   Allow from all
   # New directive needed in Apache 2.4.3: 
   Require all granted
</Directory>
票数 306
EN

Stack Overflow用户

发布于 2014-08-24 19:35:34

对于apache Ubuntu 2.4.7,我最终发现您需要将apache2.conf中的虚拟主机列入白名单

代码语言:javascript
复制
# access here, or in any related virtual host.
<Directory /home/gav/public_html/>
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
票数 17
EN

Stack Overflow用户

发布于 2011-09-28 06:47:42

这可能是权限问题。

指向虚拟文档根目录的每个父路径都必须是web服务器httpd用户可读、可写和可执行的

根据this page关于Apache403的错误。

由于您使用的是Allow from all,因此您的顺序应该不重要,但是您可以尝试将其切换为Deny,Allow,以将default behavior设置为“allowing”。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6959189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档