當前位置:首頁 » 密碼管理 » apache禁止訪問文件

apache禁止訪問文件

發布時間: 2025-01-15 14:01:55

⑴ apache 403 forbidden怎麼解決

在配置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>

以下是其它網友的補充:

部署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文件): [root@http-server blog]# pwd /var/blog [root@http-server 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

.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錯誤。 [root@http-server var]# pwd /var [root@http-server var]# chown -R root.root blog/ [root@http-server var]# chmod 700 blog [root@http-server var]# ll -d blog/ drwx------ 3 root root 4096 Jun 4 22:11 blog/

一種可能性是DocumentRoot選項的設置,如果在安裝好apache2後修改了該選項,並且忘記了配置該新目錄的訪問許可權就會出現這樣的情況。

比如apache2安裝好後默認的參數如下:

我們常常會重新指定web文件存放的目錄,比如設定DocumentRoot /var/www這時往往會忽略了對後面的Directory 項的修改,必須將裡面的路徑同時修改為 /var/www才行,否則將會訪問所有目錄都出現 403 forbidden錯誤。

今天在公司電腦上安裝Apache,版本2.2.8,裝完剛測試可以;配置了下php的php.in文件再次localhost打開發現錯誤:HTTP 錯誤 403 - 禁止訪問,即403 Forbidden:You don't have permission to access / on this server.許可權又不夠了? 馬上打開apache的配置文件httpd.conf,逐行檢查。在大約快一半的地方有以下這段代碼:

發現了吧。

由於配置了php後,這里的「Deny from all」已經拒絕了一切連接。把該行改成「allow from all」,修改後的代碼如下,問題解決。

另外一種可能性出現在我們配置了不同的VirtualHost,並且有某個VirtualHost的DocumentRoot不在全局的DocumentRoot目錄下,這時必須在全局種單獨增加對該目錄的Directory 項進行設置,否則該VirtualHost下的所有訪問均會出現403 forbidden錯誤。

這個問題是因為Apache2對於許可權和安全的更高要求,對分布在不同磁碟上的目錄文件進行嚴格管理,我們進行web規劃的時候必須注意這一點。 試試下面的步驟:

終極解決辦法:如果以上都不行的話!!!

Forbidden You don't have permission to access / ~ web on this server. Additionally, a 403 Forbidden error was encountered while trying to use an Error Document to handle the request.

Apache/2.0.54 (CentOS) Server at 127.0.0.1 Port 80

一般出現這個問題,直觀地會想到的目錄的存取許可權問題,查了很久,調了很久也沒有解決問題。

其間曾想到是否Selinux的問題,進去看了一圈,沒有發現什麼要改的地方。(後來的事實證明,有時候直覺是很準的,能否找到答案,區別往往是:是否在直覺上走的更深入)。

問題的解決用Google以Apache 403搜了好一會,終於在一個博客里看到,作者遇到和我完全相同的問題:Apache、目錄的配置都沒問題,但就是不能顯示頁面。

而解決方法恰恰就是修改Selinux對public_html的訪問控制。

用以下命令修改文件夾安全屬性

⑵ apache 怎麼禁止指定的IP訪問

不一定要採用apache禁止IP訪問,軟體防火牆就可以禁止某些IP地址訪問你的伺服器。
apache的方法為:

1.停止apche的服務

2.備份apche當前的配置文件/<apche_Home>/conf/httpd.conf,注意<apche_Home>代表了apche的安裝目錄

3.用文本編輯器打開文件/<apche_Home>/conf/httpd.conf,查找如下的內容:
order allow,deny
allow from all

4.在「allow from all」後面添加一行「deny from <IP_WantToDeny>」,其中<IP_WantToDeny>表示要屏蔽的IP地址,比如:要屏蔽163.236.54.30那麼應該寫成:
order allow,deny
allow from all
deny from 163.236.54.30

⑶ 如何在apache 裡面關掉獨立ip的訪問

設置Apache訪問限制,可以通過Apache的配置文件http.conf中添加如下代碼
允許訪問
<Directory "/var/jingan">
Options All
AllowOverride None
Order Deny,Allow
Deny From all
Allow From 192.168.0.0/24
Allow From 127.0.0.1
Allow From 59.37.x.x/28
</Directory>
註:上面這一段的意思是對/var/jingan目錄下面的文件,只允許從192.168.0/24 和 127.0.1、59.37.x.x/28這幾個IP段內的用戶訪問
禁止訪問
<Directory "/var/jingan">
Options All
AllowOverride None
Order Deny,Allow
Allow From all
Deny From 192.168.0
Deny From 127.0.0.1
</Directory>
註:這一段與上面的剛好相反,禁止從192.168.0 和 127.0.1這兩個欄位內的用戶訪問.

熱點內容
思科模擬器ftp配置 發布:2025-01-15 18:01:53 瀏覽:196
wd軟體如何修改密碼 發布:2025-01-15 17:59:57 瀏覽:715
公共代理伺服器地址 發布:2025-01-15 17:59:53 瀏覽:817
android文件圖片 發布:2025-01-15 17:39:44 瀏覽:205
linux的路徑怎麼寫 發布:2025-01-15 17:18:49 瀏覽:185
php解壓程序 發布:2025-01-15 17:06:22 瀏覽:142
刷助力腳本 發布:2025-01-15 17:02:31 瀏覽:520
c盤里的用戶文件夾可以刪除 發布:2025-01-15 16:56:45 瀏覽:951
虛幻4編譯到哪裡 發布:2025-01-15 16:50:19 瀏覽:756
透明度漸變android 發布:2025-01-15 16:45:08 瀏覽:835