關鍵字: Apache 403 Forbidden
系統配置:
作業系統:Red Hat Linux 6.2
Web伺服器:Apache 3.1.1+jakarta-tomcat 3.1.1
資料庫伺服器:oracle 8i
Apache伺服器是目前應用最多的web伺服器,據統計在世界上的伺服器中有超過一半採用Apache伺服器.關於它的好處,您可以自己到http://www.apache.org/上去看。
今天我們的伺服器出了一點兒問題:任何訪問都會返回一個403的錯誤:
Forbidden
You don't have permission to access on this server。
不對呀,原來還好好的,在排除了目錄的許可權等的問題外,我幾乎翻遍了系統的所有檔案,尤其是/etc/httpd/conf下的所有設定檔,因為我已經將access.conf,srm.conf檔案加入到httpd.conf檔案中,同時在httpd.conf檔案的最後加上了一句:
Include /etc/httpd/conf/tomcat.conf,以便將tomcat和apache串連起來。
在經過了一番思考之後,我認為問題肯定出在httpd.conf檔案中,於是就又重新檢查httpd.conf檔案,終於讓我發現了其中有這樣一段:
<Files ~>
AllowOverride AuthConfig FileInfo Indexs Limit Options
Order allow ,deny
Deny from all-----------------注意:就是這兒!!--->把這行去掉或注釋掉就行!!!
</Files>
心頭一陣狂喜,哈哈,想起趙本山說的一句話“小樣兒,脫了馬甲我也認得你”,於是改成:
Allow from all,重新啟動伺服器,咦,還是不行?頭開始大了,心想:今兒個我是載這兒了。又翻了n多遍httpd.conf檔案幾乎都要背下來了還找不到問題。也怪,突然就想起來了,www.apache.org不是有個問題資料庫嗎,幾乎所有的問題都可以在上面找到答案,於是進入http://bugs.apache.org/,尋找關鍵字forbidden,果然就讓我查到了,原來是我們一位同事想做一個虛擬機器主機,用了linux的組態工具linuxconf,這個工具因為版本的問題,會導致httpd.conf檔案的修改,其實我只要將上面的那一段去掉就可以萬事大吉了。
最終總結經驗:遇到事情首先要想到到軟體所在的網站上找答案,免得浪費時間。
寫此文的目的:以我為反面教材,遇到問題不要自己總是認為自己可以解決,而不到專業網站上請教。很多的網站已經有了非常完善的faq,基本上可以滿足大家平時的需求,比如pb的要多到www.sybase.com上走走,java到http://developer.java.sun.com上轉轉,vc到壞孩子家溜溜。其實一些高手不是他們有多聰明,而是他們懂得如何從有用的地方找到自己想要的東西。
我也象他那樣找到了希望,也沒管用。後來我樂了,但後來我又樂不起來了。那著在我這裡不行啊?誰能幫我?我找!我找!不行就自救。
===================================================
===================================================
解決Apache下403 Forbidden錯誤
正 文:
今天在公司電腦上安裝Apache,版本2.2.8,裝完剛測試可以;配置了下php的php.in檔案再次localhost開啟發現錯誤:HTTP 錯誤 403 - 禁止訪問,即403 Forbidden:You don't have permission to access / on this server.許可權又不夠了?
馬上開啟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>
再次在瀏覽器裡開啟http://localhost,顯示it works!
總結:如果你也發生了這樣的403禁止訪問,不妨注意下apache的httpd.conf設定檔裡有“Deny from all”這行的代碼處,看看是不是哪裡被系統悄悄地修改了。