Apache訪問index.html總是出現403 Forbidden錯誤的解決方案

剛裝了Apache,我保證/etc/httpd/conf/httpd.conf這裏面設置的沒問題,什麼權限啥的一點問題都沒有,不要再說什麼Deny from all了,根本不是這玩意兒的問題。我的httpd.conf裏面都是Allow from all,怎麼會是配置問題。

那是哪裏的問題呢?


請接着看:

我在/var/www/html裏面使用命令產生一個簡單的文件

echo "hello" >index.html

然後訪問我的Apache服務器地址http://192.168.116.129,出現了hello的頁面。現在刪除這個簡單的index.html,把github首頁保存爲index.html文件然後送到/var/www/html下,再次打開http://192.168.116.129,結果就是403 Forbidden。我很費解,怎麼會這樣,同樣是index.html爲什麼會是不同的結果。爲了證明不是文件權限問題,我以root權限運行chmod -R 777/var/www/之後把目錄下所有文件權限全部升高,結果還是403,簡直怪了,這可是777權限!更奇怪的是訪問我自己寫的index.html就可以,訪問我從別處複製過來github的index.html的就不行。


後來我搜到了幾篇文章,從Google那邊得到的消息是centos系統會自動安裝selinux,這玩意兒有極其嚴格的權限機制,導致從別處複製過來的index.html訪問會出現問題,當然你要是在/var/www/html自建目錄去訪問,由於selinux的阻礙也肯定會出問題。所以就用簡單粗暴的方法直接廢了selinux,打開/etc/selinux/config文件,把SELINUX=enforcing改爲SELINUX=disable,重啓centos,你要是不想重啓的話可以運行setenforce 0命令即時生效。


現在可以了,訪問http://192.168.116.129出現了我自己保存的index.html頁面,而且這頁面看起來和github完全一樣,除了鏈接不能點之外~~


所以你要是找了很久都找不到你的Apache爲何總是403錯誤,你就把selinux幹掉再試試。除此之外iptables也可能會阻止訪問,所以最好配置下,對於我這種在虛擬機裏玩Apache的,一般是把iptables也停掉的。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章