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 http://www.iis7.com/b/ssyqdq/,把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也停掉的。
Apache訪問index.html總是出現403 Forbidden錯誤的解決方案分享