Linux
Apache“客戶端被伺服器配置拒絕”,儘管允許訪問目錄(虛擬主機配置)
在 Ubuntu 上的 Apache 中,我設置了一個虛擬主機,但在瀏覽器中,我不斷收到“403 禁止訪問”錯誤;日誌顯示“客戶端被伺服器配置拒絕:/home/remix/ ”。
在網上尋找解決方案時,我發現了許多關於目錄訪問的文章(全部允許等),但據我所知,我已經這樣做了。在httpd-vhosts.conf中有以下程式碼:
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/opt/lampp/htdocs/" ServerName localhost ServerAlias localhost ErrorLog "logs/dummy-host.example.com-error_log" CustomLog "logs/dummy-host.example.com-access_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot "/home/remix/" ServerName testproject ServerAlias testproject <Directory "/home/remix/"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
我也加了
127.0.0.1 testproject
到 /etc/hosts 文件。
此外,/home/remix/ 文件夾包含一個 index.html 文件,並且在 httpd.conf 中啟用了虛擬主機。
有什麼我沒看到的嗎?
**編輯:**這是 Apache error_log 條目:
[Sat Aug 18 09:15:32.666938 2012] [authz_core:error] [pid 6587] [client 127.0.0.1:38873] AH01630: client denied by server configuration: /home/remix/
更改您的授權配置:
<Directory /home/remix/> #... Order allow,deny Allow from all </Directory>
…到 Apache 2.4 版本的相同。
<Directory /home/remix/> #... Require all granted </Directory>
查看升級概述文件以獲取有關您可能需要進行的其他更改的資訊 - 請注意,您在 Google(以及本網站)上找到的大多數配置範例和幫助都指的是 2.2。
檢查目錄的權限。我敢打賭,它設置為拒絕除您自己以外的任何人訪問,例如:
$ ls -ld /home/remix drwx------ 92 remix remix 4096 Aug 17 22:59 /home/remix
如果你看
drwx------
得很清楚,那麼就是這種情況。通過執行修復它:chmod a+x /home/remix