Apache的HTTP 403 Forbidden錯誤的多種原因與解決方法!


在配置Linux的 Apache服務時,經常會遇到http403錯誤,我今天配置測試時也出現了,最后解決了,總結了一下。http 403錯誤是拒絕訪問的意思,有很多原因的。還有,這些問題在win平台的Apache里一樣會發生!我按照經驗總結的主要有以下4種原因!

本人測試的環境 是:Scientific Linux 5.3(與RHEL和CentOS百分百兼容!),其它版本的Linux應該通用,沒測試。

1. 訪問的文檔權限不夠。要755以上權限。解決方法:用命令chmod 755 /var/www/ 或其他相應目錄。

2. SELinux或防火牆的原因。解決方法:先關閉SELinux和讓防火牆通過WWW服務。

3. 虛擬主機配置錯誤。例如我遇到過一次的:
httpd.conf里加載了虛擬主機的配置文件:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

而conf/extra/httpd-vhosts.conf並沒有配置好,而且虛擬主機功能暫時還沒有用,所以把Include conf/extra/httpd-vhosts.conf注釋掉,重啟apache后正常了。
解決方法:重新配置虛擬主機或暫時關閉。

4. DocumentRoot的設置。解決方法如下:

打開 apache的配置文件httpd.conf,找到這段代碼:

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

有時候由於配置了php后,這里的“Deny from all”已經拒絕了一切連接。把該行改成“allow from all”,修改后的代碼如下,問題解決。

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM