apache 403錯誤 Forbidden解決方法
當網頁開啟提示以下錯誤時,即出現了403錯誤。
Forbidden
You don't have permission to access / on this server.
403 Forbidden 資源不可用。伺服器理解客戶的請求,但拒絕處理它。通常由於伺服器上檔案或目錄的許可權設定導致。通常情況可能(但不限於此)的原因有:
原因1:apache配置檔案中沒有對站點目錄的許可權許可,這通常是在初始安裝apache後,更改了預設的apache站點目錄時所至(重要,常發生):
如將站點目錄更改為:/var/blog,則在apache配置檔案中如果不加下面的配置 就會返回403錯誤。
<Directory "/var/blog">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
提示:生產環境上面的配置還需修改,見下文,此處僅就本文的主題講解。
原因2:站點目錄下無首頁檔案(index檔案),而apache的配置又禁止了目錄瀏覽,就會提示403錯誤,配置如下(偶爾發生):
a.站點目錄下無首頁檔案
[[email protected] blog]# pwd
/var/blog
[[email protected] blog]# ll
total 12
drwxr-xr-x 2 root root 4096 Jun 4 22:11 oldboy
-rw-r--r-- 1 root root 0 Jun 4 22:11 oldboy.html
提示:上面列出來的就是站點目錄/var/blog目錄下沒有預設 首頁DirectoryIndex index.html
b.apache
第一種配置:
<Directory "/var/blog">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
第二種配置:
<Directory "/var/blog">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
第三種配置:
<Directory "/var/blog">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
提示:第二種原因朋友們偶爾會朋友,但遇到問題最多的還是第一種原因。
原因3:還是Directory許可權問題(不常發生)
如下文:拒絕10.0.0.0/24整段訪問。這樣被拒絕的主機訪問就會出現403錯誤
<Directory "/var/blog">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
#Allow from all
Deny from 10.0.0.0/24
<Directory "/var/blog">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
#Allow from all
Allow from 10.0.0.116
#Deny from 10.0.0.0/24
</Directory>
原因4:站點目錄許可權問題(不常發生)。
站點目錄需要apache的使用者有訪問許可權,否則就會報403錯誤。
[[email protected] var]# pwd
/var
[[email protected] var]# chown -R root.root blog/
[[email protected] var]# chmod 700 blog
[[email protected] var]# ll -d blog/
drwx------ 3 root root 4096 Jun 4 22:11 blog/