我最近尝试使用Apache设置测试服务器。该站点必须在domain下运行www.mytest.com。我总是会403 Forbidden出错。我使用的是Ubuntu 10.10服务器版本。doc根目录在dir下/var/www。以下是我的设置:
www.mytest.com
403 Forbidden
/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读取)。
.htaccess
如果我从桌面输入IP地址,则该站点将正确显示。我将桌面上的主机文件更改为指向www.mytest.com服务器的IP。使用它时,我得到了403。由于此站点的许多功能都对站点名称敏感,因此我必须能够通过域名访问该站点。
403
另一个时髦的事情是,即使正确创建了所有日志文件,它们也没有有关此错误的信息。
我被困住了。有人可以帮忙吗?
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>