1. 程式人生 > >apache服務出現Forbidden 403問題的解決方法總結

apache服務出現Forbidden 403問題的解決方法總結

在配置Linux的 Apache服務時,經常會遇到http403錯誤,我今天配置測試時也出現了,最後解決了,總結了一下。http 403錯誤是拒絕訪問的意思,有很多原因的。還有,這些問題在win平臺的Apache裡一樣會發生!我按照經驗總結的主要有以下4種原因!

本人測試的環境 是:Scientific Linux 5.3(與RHEL和CentOS百分百相容!),其它版本的Linux應該通用,沒測試。

1. 訪問的文件許可權不夠。要755以上許可權。解決方法:用命令chmod 755 /var/www/ 或其他相應目錄。
2. SELinux或防火牆的原因。解決方法:先關閉SELinux和讓防火牆通過WWW服務。
3. 虛擬主機配置錯誤。例如我遇到過一次的:
httpd.conf里加載了虛擬主機的配置檔案:

複製程式碼 程式碼如下:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

而conf/extra/httpd-vhosts.conf並沒有配置好,而且虛擬主機功能暫時還沒有用,所以把Include conf/extra/httpd-vhosts.conf註釋掉,重啟apache後正常了。
解決方法:重新配置虛擬主機或暫時關閉。

4. DocumentRoot的設定。解決方法如下:

開啟 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>

PS:我以前沒有寫技術日誌的習慣,以後多與大家分享。

以下是其它網友的補充:

部署apache服務Forbidden 403問題小結

很多朋友和學生都問過我同樣的問題 訪問網站Forbidden 403 什麼原因?一般頁面提示為:

Forbidden
You don't have permission to access / on this server.

http錯誤程式碼403:
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.站點目錄下無首頁檔案(index檔案):
[[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/

本文為拋磚引玉 更多原因,期待你的答案。。

相關推薦

apache服務出現Forbidden 403問題的解決方法總結

在配置Linux的 Apache服務時,經常會遇到http403錯誤,我今天配置測試時也出現了,最後解決了,總結了一下。http 403錯誤是拒絕訪問的意思,有很多原因的。還有,這些問題在win平臺的Apache裡一樣會發生!我按照經驗總結的主要有以下4種原因! 本人測試的

虛擬主機服務器錯誤403解決方法

虛擬主機服務器錯誤403解決方法解決辦法:這時候要看你的網站是什麽網站了 php網站的話就添加默認文檔 index.phpasp網站的話就添加默認文檔 index.asp本文出自 “高家大少的技術博客” 博客,請務必保留此出處http://gaopengju.blog.51cto.com/12830

Centos7安裝Oracle11g出現問題的解決方法總結

在Centos7中安裝Oracle11g時,出現無法看到提示的警示框時,則採用以下方法安裝Oracle 解決方案:./runInstaller -jreLoc /usr/local/jdk1.8 其中/usr/local/jdk1.8是jdk的安裝路徑,個人根據實際情況進行修改。 在

Xampp Apache服務無法啟動的解決方法

有時,並不是安裝完VC9環境就可以直接執行Apache,其中一個重要的原因,便是Apache伺服器所使用的埠被其它程式佔用了,經典代表:迅雷。 解決辦法: 1.80埠衝突,解決方法: 開啟目錄C:\xampp\apache\conf(我的安裝目錄為C:\xampp)下的httpd.conf檔案,將Listen

xampp Apache Access forbidden! Error 403 解決方法

今天下載了最新的xampp,配置了一個虛擬主機,一直在報錯,Access forbidden! Error 403  這很明顯是伺服器不允許訪問檔案,但是我的虛擬主機配置如下: DocumentRoot "D:/work/test" ServerName test Opt

LoadRunner出現error問題及解決方法總結

一、Step download timeout (120 seconds) 這是一個經常會遇到的問題,解決得辦法走以下步驟: 1、修改run time setting中的請求超時時間,增加到600s,其中有三項的引數可以一次都修改了,HTTP-request connect

WampServer 2.5設定手機訪問(403 Forbidden錯誤解決方法

使用手機開啟http://***.***.***.***(本機ip)之後出現403錯誤 解決方法: 在右下角“WampServer 2.5”圖示上單擊左鍵 →  Apache → httpd.conf 將297行:Require local;替換為:Require all

zabbix   監控平臺搭建過程中的報錯與解決方法總結

監控 zabbix 運維自動化1.php option post_max_size 2.php option max_execution_time 3.php option max_input_time 4.php time zone 5.php bcm

遠程桌面連接MySQL遇到的問題及解決方法總結

許可授權 fire ble 連接 配置 image iptable 問題 分享 背景提要:想用Delphi做一個可以連接Mysql數據庫的桌面應用程序。其中遇到了一些讓自己很苦惱的問題。因為自己是新手,Delphi用的不熟,FireDAC這個連接數據庫裏控件更是沒有接觸

xampp中apache點擊啟動失敗解決方法

expec 錯誤 his exp 使用 check eth you err 錯誤提示: 9:15:53 AM [Apache] Error: Apache shutdown unexpectedly.9:15:53 AM [Apache] This may be due

虛擬主機服務器錯誤404解決方法

虛擬主機服務器錯誤404解決方法解決辦法:首先確認自己的主頁文件是不是正確的比如:index.php index.asp等等的然後寫一個php的測試頁。測試頁內容如下<?phpPhpinfo();?>選擇4.0(Integrated Pipeline) 不選擇這個的話 輸入域名訪問也可能造成40

【Android】getActionBar()為null的解決方法總結

andro 調用 種類 ref code trac page 沒有 stack 前言 在使用 ActionBar的時候,有時候會爆出空指針異常,這是由於應用沒有獲取到 ActionBar 導致的,而導致應用沒有獲取到 ActionBar 的原因比較多。

Windows7 Python-3.6 安裝PyCrypto(pycrypto 2.6.1)出現錯誤以及解決方法

windows python pycrypto 今天準備在Windows系統上基於python3.6安裝一個pycrypto 2.6.1模塊,很不幸的報了一堆錯誤,如下所示:running installrunning buildrunning build_pyrunning build_extw

Android中,子線程使用主線程中的組件出現問題的解決方法

play try tac demo androi cte over cep back   Android中,主線程中的組件,不能被子線程調用,否則就會出現異常。   這裏所使用的方法就是利用Handler類中的Callback(),接受線程中的Message類發來的消息,然

org.apache.catalina.LifecycleException報錯解決方法

實用 star tex otf run 下午 ros r.java contex 嚴重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.cat

CSS - 移動端 常見小bug整理與解決方法總結【更新中】

mic ros class clas 問題 像素 css strong 常見問題 常見問題總結與整理系列~ 1. border一像素在手機上看著有點粗的問題: 原理是因為:1px在手機上是使用2dp進行渲染的 換成 border: 0.5像素?是不行的!

Chrome調試WebView時Inspect出現空白的解決方法(使用離線包不Fan墻)

oid 調試 rom androi http 前端 一次 開發者 html5開發 起因 使用HTML5開發Android應用時,少不了調試WebView。做前端的還是習慣Chrome的開發者工具,以前都是輸入Chrome://inspect就可以調試WebView了,太方

數據庫高並發解決方法總結

靜態 csdn 訪問 主從 必須 流程 lib 如何解決 機制 一個項目剛開始的時候是為了實現基本功能,隨著版本和功能的叠代,大數據和高並發成了軟件設計必須考慮的問題! 本質很簡單,一個是慢,一個是等。 兩者是相互關聯的,因為慢,所以要等,因為等,所以慢,解決了慢,也就

python 字符串轉列表出現ufeff的解決方法

發現 文本編輯器 con spl encoding cond 標準 body lis   在學習python從文件中讀取文件,並將文件中的字符串轉化為列表的時候,發現文件頭多了一個\ufeff字符。   這個問題前段時間也遇到過了,同樣是上網搜索了半天才解決,當時只是把問題

8.0.11版本Mysql遇到MySQL 服務無法啟動的解決方法

p s 解決方法 details eba 引號 iss 位數 -- 修改密碼 轉:https://blog.csdn.net/iyayaqiqi/article/details/80536110 系統環境:win10(1803),64位 MySQL版本:8.0.11免安