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