欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

apache配置訪問站點下所有文件的實現(xiàn)

 更新時間:2025年03月03日 10:25:48   作者:FightForY  
本文主要介紹了配置Apache服務(wù)器以實現(xiàn)對根目錄下目錄的訪問控制,包括無限制訪問和有限制訪問,具有一定的參考價值,感興趣的可以了解一下

修改Options 為All(主要是Index)即可返回目錄文件

在整完apache和tomcat的之后我覺得有必要把和它下面的屬性捋順一下

如何訪問根目錄下的目錄http://192.168.1.12/test/

第一. 缺省apache不允許訪問http目錄(沒有定義,就沒有訪問權(quán)限)

訪問目錄http://192.168.1.12/test/
會顯示:
Forbidden
You don't have permission to access /test/ on this server.

第二. 無限制目錄訪問

在httpd.conf中增加定義,即可打開無限制的目錄訪問權(quán)限

<Directory /home/macg/www/test>
    Options All
    AllowOverride all
</Directory>

再訪問會顯示如下:

Apache/2.0.54 (Fedora) Server at 192.168.1.12 Port 80

Index of /test
 Name                    Last modified      Size  Description
 ------------------------------------------------------------
 Parent Directory                             -   
 bg0073.jpg              29-Nov-2006 21:02   36K  
 bg0135.jpg              29-Nov-2006 21:03   41K  
 bg0137.jpg              29-Nov-2006 21:03   47K  
 slade1.html             29-Nov-2006 22:02  1.2K  
 slade2.html             29-Nov-2006 22:02  1.1K  
 slade3.html             29-Nov-2006 22:02  1.4K  
 slade4.html             29-Nov-2006 22:02  1.8K  
 slade5.html             29-Nov-2006 22:02  2.3K  
-------------------------------------------------------------

Apache/2.0.54 (Fedora) Server at 192.168.1.12 Port 80 實際AllowOverride
all是enable .htaccess目錄限制功能。

但test目錄下并沒有.htaccess文件

等于開放訪問,無限制。

第三. 有限制目錄訪問

將其他目錄中的.htaccess拷貝入要限制訪問的目錄

[root@localhost test]# ls -a
.  ..  bg0073.jpg  bg0135.jpg  bg0137.jpg  slade1.html  
slade2.html  slade3.html  slade4.html  slade5.html

[root@localhost test]# cp ../test1/.htaccess .

[root@localhost test]# ls -a
.  ..  bg0073.jpg  bg0135.jpg  bg0137.jpg  .htaccess  
slade1.html  slade2.html  slade3.html  slade4.html  
slade5.html

[root@localhost test]# more .htaccess
authType Basic
AuthName "Restricted Files"
AuthUserFile /etc/httpd/passwords
Require valid-user

再訪問http://192.168.1.12/test/
會跳出身份認證窗口,輸入用戶名密碼,即可訪問目錄

.htaccess 目錄限制的配置
要使用.htaccess文件,先在將httpd.conf中建立<Directory ></Directory>

<Directory "/home/macg/www/test">   
        Options All            
允許對目錄的操作,ALL---所有操作

    AllowOverride all                      
AllowOverride all----允許.htaccess所有指令,缺省是all
AllowOverride None ----完全忽略.htaccess文件

</Directory>

用/usr/bin/htpasswd創(chuàng)建一個用于認證的密碼文件。
并且這個文件不應(yīng)該置于DocumentRoot目錄下,以避免被下載。
建議創(chuàng)建在/etc/httpd/目錄下:

[root@localhost httpd]# /usr/bin/htpasswd -c 
/etc/httpd/passwords macg
          -c建立文件
New password:
Re-type new password:
Adding password for user macg
[root@localhost httpd]# /usr/bin/htpasswd 
/etc/httpd/passwords gary  
                            沒有-c就是單純的adduser 追加用戶
New password:
Re-type new password:
Adding password for user gary
[root@localhost httpd]# more /etc/httpd/passwords
macg:U8jCwSsZyAB2g
gary:06yCDyg7AijlM

在受限制目錄下建立.htaccess文件

[root@localhost test]# ls -a
.  ..  bg0073.jpg  bg0135.jpg  bg0137.jpg  .htaccess  
slade1.html  slade2.html  slade3.html  slade4.html  
slade5.html

[root@localhost test]# more .htaccess
authType Basic
authType--------認證類型
     由mod_auth_basic提供的Basic

Basic認證方法并不加密來自用戶瀏覽器的密碼(明文傳輸) 更安全的認證方法"AuthType Digest",即由mod_auth_digest供的摘要認證
最新的瀏覽器版本才支持MD5認證
(認證,服務(wù)器響應(yīng)速度會受一些影響,一般有幾百個用戶就會對響應(yīng)速度有非常明顯的影響)

AuthName "Restricted Files"
AuthName "會員區(qū)"

此句是顯示給用戶看的

AuthUserFile /etc/httpd/passwords
此目錄接受passwords內(nèi)定義用戶的認證請求
or
Require macg
此目錄只接受單一用戶macg(unix用戶)認證請求
<Directory ></Directory>中指令的含義

<Directory "/home/macg/www/test">   
        Options All            
        AllowOverride all                      
</Directory>
  Options指令-------目錄的訪問特性
option  none    禁止對目錄的所有操作
option all      允許對目錄的所有操作,ALL---所有操作
option ExecCGI    對該目錄,可以執(zhí)行cgi腳本
option Indexes    允許訪問該目錄(而該目錄沒有index.html)時,返回目錄下的文件列表                        
option FollowSymLinks       只允許對目錄的FollowSymLinks操作
   AllowOverride指令
None    不讀取.htaccess
all    all----允許.htaccess所有指令,缺省是all
Limit    .htaccess函蓋具體限定的主機(allow,deny)
AuthConfig    .htaccess函蓋跟認證有關(guān)指令(AuthType,AuthName) 

<Directory ></Directory> 對下面的所有子目錄也生效

所以httpd.conf中先對根目錄/進行配置,等于是設(shè)置缺省配置

httpd.conf中先對根目錄/進行配置,等于是設(shè)置缺省配置

<Directory />                                  
    Options FollowSymLinks  禁止對目錄的訪問(option只允許對目錄的FollowSymLinks操作)
    AllowOverride None      不讀取.htaccess
    Order deny,allow        deny all
    Deny from all               

</Directory>


<Directory "/usr/local/apache2/htdocs">

    Options Indexes FollowSymLinks   只允許訪問index和連接   
    AllowOverride None
    Order allow,deny       承接父目錄(/)的deny all,這里也是deny all
    Allow from all           

</Directory>

order allow deny ————-httpd.conf中封IP之類的操作
Apache模塊 mod_authz_host

<Directory /docroot>
Order Deny,Allow
Deny from ...
Allow from ...
</Directory> 

注意順序:
除了后面allow的,其他都deny
典型的封IP
Order Allow,Deny
Allow from all
Deny from 205.252.46.165
注意順序:
除了后面deny的,其他都allow

Deny from 192.168.2 典型的封網(wǎng)段
上面清楚了 可以設(shè)置一個例子

Apache對于多虛擬主機以及多虛擬路徑的配置

ServerName localhost
<Directory />
    AllowOverride none
    Require all denied 
</Directory>
DocumentRoot "/home/work/"

保證所有的項目都放在/home/work/目錄, 該目錄只做配置

<Directory "/home/work/">
    Options None
    AllowOverride None
    Require all denied 
</Directory>

httpd-vhosts.conf 首先第一件事就是指定默認的DocumentRoot

沒有商量, 必須放在httpd.conf中申明的根路徑

不需要severName配置

<VirtualHost 127.0.0.1:8800>
    DocumentRoot "/home/work/www/htdocs"
    <Directory /home/work/www/htdocs>
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

如果不需要多主機支持,到此為止
添加虛擬主機,虛擬目錄等等

說明: local.baidu.com 為第一個主機名, 如果多個域名映射設(shè)置ServerAlias即可

Alias 注意“/”的位置

```clike
<VirtualHost local.baidu.com:8800>
    DocumentRoot "/home/work/workspace"
    ServerName local.baidu.com
    # ServerAlias local.baidu.com.cn local.baidu.cn

    <Directory /home/work/workspace>
        Options FollowSymLinks
        AllowOverride none
        Require all granted 
    </Directory>

    Alias /phpMyAdmin "/home/work/www/htdocs/phpMyAdmin/"

    # 添加一個日志分析, rotatelogs需要自己安裝
    LogFormat "{method:\"%m\",state:\"%s\",protocol:\"%H\",url:\"%U\",time:\"%{%Y-%m-%d %T}t\",ua:\"%{User-Agent}i\",query:\"%q\",refer:\"%{Referer}i\",server:\"%V\"}" seo 
    CustomLog "|/usr/sbin/rotatelogs logs/seo_%Y%m%d.log 86400 480" seo
</VirtualHost>
## 同上其他主機配置
當(dāng)然對于該目錄下個各種配置屬性 不過下面這個是2.2的屬性 在2.4中進行了少許的變更 所以2.4還是要查詢文檔 不過有下面的解釋打底應(yīng)該很容易

Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合 
Directory, Location, Files等),用來控制目錄和文件的訪問授權(quán)。 
所以,最常用的是: 
Order Deny,Allow 
Allow from All

注意“Deny,Allow”中間只有一個逗號,也只能有一個逗號,有空格都會出 
錯;單詞的大小寫不限。上面設(shè)定的含義是先設(shè)定“先檢查禁止設(shè)定,沒有 
禁止的全部允許”,而第二句沒有Deny,也就是沒有禁止訪問的設(shè)定,直 
接就是允許所有訪問了。這個主要是用來確?;蛘吒采w上級目錄的設(shè)置,開 
放所有內(nèi)容的訪問權(quán)。

按照上面的解釋,下面的設(shè)定是無條件禁止訪問:

Order Allow,Deny
Deny from All
如果要禁止部分內(nèi)容的訪問,其他的全部開放:

Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2
apache會按照order決定最后使用哪一條規(guī)則,比如上面的第二種方式,雖 
然第二句allow允許了訪問,但由于在order中allow不是最后規(guī)則,因此還 
需要看有沒有deny規(guī)則,于是到了第三句,符合ip1和ip2的訪問就被禁止 
了。注意,order決定的“最后”規(guī)則非常重要,下面是兩個錯誤的例子和 
改正方式:

Order Deny,Allow
Allow from all
Deny from domain.org
錯誤:想禁止來自domain.org的訪問,但是deny不是最后規(guī)則,apache在 
處理到第二句allow的時候就已經(jīng)匹配成功,根本就不會去看第三句。 
解決方法:Order Allow,Deny,后面兩句不動,即可。

Order Allow,Deny
Allow from ip1
Deny from all
錯誤:想只允許來自ip1的訪問,但是,雖然第二句中設(shè)定了allow規(guī)則,由 
于order中deny在后,所以會以第三句deny為準(zhǔn),而第三句的范圍中又明顯 
包含了ip1(all include ip1),所以所有的訪問都被禁止了。 
解決方法一:直接去掉第三句。 
解決方法二:

Order Deny,Allow
Deny from all
Allow from ip1
下面是測試過的例子:

--------------------------------
Order deny,allow
allow from all
deny from 219.204.253.8
全部都可以通行

-------------------------------
Order deny,allow
deny from 219.204.253.8
allow from all
全部都可以通行

-------------------------------
Order allow,deny
deny from 219.204.253.8
allow from all
只有219.204.253.8不能通行

-------------------------------
Order allow,deny
allow from all
deny from 219.204.253.8
只有219.204.253.8不能通行

-------------------------------

-------------------------------
Order allow,deny
deny from all
allow from 219.204.253.8
全部都不能通行 

-------------------------------
Order allow,deny
allow from 219.204.253.8
deny from all
全部都不能通行 

-------------------------------
Order deny,allow
allow from 219.204.253.8
deny from all
只允許219.204.253.8通行 

-------------------------------
Order deny,allow
deny from all
allow from 219.204.253.8
只允許219.204.253.8通行 

-------------------------------

--------------------------------
Order deny,allow
全部都可以通行(默認的)

-------------------------------
Order allow,deny
全部都不能通行(默認的)

-------------------------------
Order allow,deny
deny from all
全部都不能通行

-------------------------------
Order deny,allow
deny from all
全部都不能通行

-------------------------------

對于上面兩種情況,如果換成allow from all,則全部都可以通行!

-------------------------------
Order deny,allow
deny from 219.204.253.8
只有219.204.253.8不能通行

-------------------------------
Order allow,deny
deny from 219.204.253.8
全部都不能通行

-------------------------------
Order allow,deny
allow from 219.204.253.8
只允許219.204.253.8通行

-------------------------------
Order deny,allow
allow from 219.204.253.8
全部都可以通行

-------------------------------

-------------------------------
order deny,allow
allow from 218.20.253.2
deny from 218.20
代表拒絕218.20開頭的IP,但允許218.20.253.2通過;而其它非218.20開頭的IP也都允許通過。

-------------------------------
order allow,deny
allow from 218.20.253.2
deny from 218.20
 

和上面的差不多,只是掉換的order語句中的allow、deny先后順序,但最 
終結(jié)果表示全部都拒絕!

到此這篇關(guān)于apache配置訪問站點下所有文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)apache配置訪問站點下所有文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Linux下apache如何限制并發(fā)連接和下載速度

    Linux下apache如何限制并發(fā)連接和下載速度

    在Linux下限值A(chǔ)pache的并發(fā)連接數(shù)和下載速度需要用到一款A(yù)pache的擴展模塊mod_limitipconn,下面我們就來討論mod_limitipconn的安裝使用方法
    2014-11-11
  • 清除指定squid緩存文件的腳本代碼分享

    清除指定squid緩存文件的腳本代碼分享

    Squid web緩存加速軟件目前已經(jīng)是新浪、搜狐、網(wǎng)易等各大網(wǎng)站廣泛應(yīng)用。Squid會在設(shè)置的緩存目錄下建立多個目錄,每一個目錄下又建立多個目錄,然后才在最里層的目錄中存放緩存文件(object)
    2012-02-02
  • 淺談linux kernel對于浮點運算的支持

    淺談linux kernel對于浮點運算的支持

    今天小編就為大家分享一篇淺談linux kernel對于浮點運算的支持,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • centos6.4配置163 yum源的方法

    centos6.4配置163 yum源的方法

    安裝了CentOS系統(tǒng),自帶的YUM源更新太慢,下面介紹centos6.4配置163 yum源的方法,大家參考使用吧
    2013-12-12
  • 讓Apache支持shtml實現(xiàn)include文件解析的配置方法

    讓Apache支持shtml實現(xiàn)include文件解析的配置方法

    Apache支持include文件解析shtml首先要應(yīng)該修改Apache配置文件httpd.conf
    2011-03-03
  • linux 下部署nodejs項目(兩種方式)

    linux 下部署nodejs項目(兩種方式)

    本篇文章主要介紹了linux 下部署nodejs項目(兩種方式),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • ubuntu (linux)修改網(wǎng)卡名稱命令

    ubuntu (linux)修改網(wǎng)卡名稱命令

    這篇文章主要介紹了ubuntu (linux)修改網(wǎng)卡名稱命令的相關(guān)資料,這里提供了實現(xiàn)的命令代碼,需要的朋友可以參考下
    2016-11-11
  • 在Linux服務(wù)器上部署War項目教程

    在Linux服務(wù)器上部署War項目教程

    文章講述了如何將War包上傳到Linux服務(wù)器上的步驟,包括使用FTP或SFTP上傳,確認并安裝Java運行環(huán)境和Web服務(wù)器(如ApacheTomcat或Nginx),將War包復(fù)制到相應(yīng)的目錄,并重啟服務(wù)以確保部署成功,最后,通過瀏覽器訪問部署的應(yīng)用
    2025-02-02
  • Linux中Homebrew的正確使用方法

    Linux中Homebrew的正確使用方法

    這篇文章主要給大家介紹了關(guān)于Linux中Homebrew的正確使用方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • linux禁止ping的實現(xiàn)實例

    linux禁止ping的實現(xiàn)實例

    這篇文章主要介紹了linux禁止ping的實現(xiàn)實例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評論