Apache 常識小札

前言

Apache不僅在飛機上有很好的評譽带欢,在服務器這塊想必也是家喻戶曉了吧运授。但是很多情況下,開發(fā)人員對于apache服務器的了解并不是很多乔煞,或許只是能把項目上線等吁朦。

我本人對這塊也是很陌生,為了以防萬一渡贾,于是也收集了一下相關的一些也算是比較實用的常識性的知識逗宜,做下記錄,以備今后不時之需吧。

默認首頁及網(wǎng)站路徑設置

apache中對于網(wǎng)站的默認首頁的設置是可以進行自定義處理的锦溪,下面簡單的來介紹一下使用方法不脯。

默認首頁

直接修改httpd.conf 文件中的DirectoryIndex值信息,配置如下:

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.html index.php
</IfModule>

DirectoryIndex后面的文件名可以羅列多個刻诊,但是服務器會默認以此為優(yōu)先級來進行資源頁面的顯示防楷。

在客戶端訪問網(wǎng)站時,服務器會在項目根目錄查找與此值一致的文件则涯,并進行向下匹配复局,找到的話就會顯示此文件內(nèi)容;否則會以服務器本身的目錄信息展示(如果沒有做目錄限制的話)粟判。

默認網(wǎng)站

一個apache服務器可以放置多個網(wǎng)站亿昏,這是毋庸置疑的,但是優(yōu)先顯示哪一個呢档礁?

答案很簡單角钩,找到DocumentRoot 字段,將后面的值修改為您的文件夾目錄即可呻澜。
我本人的設置為默認選項递礼,如下:

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "D:/php/apache/htdocs"

這完全是可以自定義的,就看個人的需求如何了羹幸。

禁止顯示目錄

出于對項目的安全性角度考慮脊髓,上線應用對外顯示目錄下文件信息不是一個好做法(但是在開發(fā)階段這個可不能少,想必大家都懂的)栅受。那么怎么進行設置呢将硝,且看下文吧。

試水設置

  • 第一步:
    打開httpd.conf文件
  • 第二步:
    找到如下代碼段:
<Directory />
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>

然后將Options IndexesOptions None即可屏镊。

注意: 有些時候依疼,PHP版本不同或者PHP運行環(huán)境安裝包的不同,Options Indexes也有可能是Options Indexes FollowSymLinks闸衫,不管怎樣一并修改為Options None就行了涛贯,這也算是一個簡單粗暴的方法。

  • 第三步:
    保存httpd.conf文件蔚出,然后重啟Apache服務器即可弟翘,接下來演示一下效果。

未做目錄限制時


未做目錄限制時

做了處理之后


做了處理之后

如果做了這些處理后骄酗,正常頁面也變得沒有訪問權限了稀余,如下圖所示


文件訪問沒有權限問題

這說明你的AllowOverride 沒有設置好,這個時候?qū)偛诺哪嵌闻渲弥械?br> AllowOverride All 修改為AllowOverride None趋翻。這樣就行了睛琳。修改完之后保存配置文件,重啟您的apache服務器,然后就可以啦

文件可以正常訪問效果

需要知道的是只有在目錄下有index開頭的文件時师骗,服務器才會直接顯示此頁面(這一點同樣可以設置默認文件历等,還是在httpd.conf中設置,這一點比較簡單辟癌,不再敘述了)寒屯。否則的話就不會顯示資源頁面了,因為咱們這次設置的目標就是訪問目錄頁文件羅列黍少,來保護服務器應用的安全性寡夹。

淌水篇

上面簡單的設置了一下禁止瀏覽列出的文件列表或者目錄信息的方法,下面來看看Apache單個或者多個目錄禁止訪問的方法厂置。

  • 第一步:
    打開Apache配置文件httpd.conf
  • 第二步:
    創(chuàng)建Directory節(jié)點菩掏,模仿著文件中原本的這個節(jié)點即可。然后具體內(nèi)容可以這樣設置
<Directory /var/www/guopuphp/inc>
Order Deny,Allow
Deny from all
</Directory>

如此便可以實現(xiàn)禁止所有用戶訪問guopuphp網(wǎng)站下的inc目錄的功能昵济。

如果想禁止訪問所有目錄中inc目錄的功能只需要修改為下面的配置就可以了智绸。

<Directory /var/www/guopuphp/*/inc>
Order Deny,Allow
Deny from all
</Directory>

如此看來,通配符就是有這樣的一個好處砸紊。

  • 第三步:
    保存此配置文件传于,重啟Apache服務器就可以了。

額外設置

除此之外醉顽,還可以設置一些其他簡單但是有效的處理。

只允許或者禁止某個域名進行目錄訪問

此時將剛才的Directory節(jié)點修改為如下:

<Directory /var/www/guopuphp/inc>
Order Deny,Allow
Deny from target.com
Allow from guopu.com
</Directory>

允許或者禁止的設置就可以通過Deny 或者Allow來進行處理平挑。

同樣的游添,對于限制IP訪問也是如此,只需要把域名修改為IP地址就可以了通熄。如果是對網(wǎng)段進行處理唆涝,在IP地址后面添加對應的子網(wǎng)掩碼位數(shù)即可。

除此之外唇辨,還可以通過DirectoryMatch節(jié)點廊酣,來使用正則匹配的方式來實現(xiàn)這一個效果。

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
Order allow,deny
Deny from all
</Directory>

禁止某些文件訪問

介紹了一下目錄級別的設置赏枚,下面聊聊文件級別的處理吧亡驰。上面部分對于配置文件的操作講解的已經(jīng)很詳細,下面只講述關鍵設置的部分吧饿幅。

禁止訪問某些文件

可以通過添加File是節(jié)點來實現(xiàn)凡辱,比如禁止訪問以.inc結(jié)尾的拓展名的文件,可以使用下面的配置栗恩。

<Files ~ ".inc$">
Order allow, deny
Deny from all

</Files>

禁止對常見圖片的訪問

<FilesMatch .(?i:gif|jpe?g|png|bmp)$>
Order allow,deny
Deny from all
</FilesMatch>

針對URL相對路徑的禁止訪問

<Location /dir/>
Order allow, deny
Deny from all
</Location>

針對代理方式禁止對某些目錄的訪問

這點apache中可以通過Proxy來設置透乾,同樣可以使用ProxyMatch來使用正則匹配方式實現(xiàn)。

<Proxy http://cnn.com>
Order allow, deny
Deny from all
</Proxy>

總結(jié)

最后來回顧一下,本文內(nèi)容比較瑣碎乳乌。而且也不會經(jīng)常性的用到捧韵,隨用隨查吧。

雖然很多東西很小汉操,但是真的是很實用纫版。

<mark>凡事立于乎微,也敗于乎微客情。</mark>這句話大家都應該牢記于心其弊。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膀斋,隨后出現(xiàn)的幾起案子梭伐,更是在濱河造成了極大的恐慌,老刑警劉巖仰担,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糊识,死亡現(xiàn)場離奇詭異,居然都是意外死亡摔蓝,警方通過查閱死者的電腦和手機赂苗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贮尉,“玉大人拌滋,你說我怎么就攤上這事〔卵瑁” “怎么了败砂?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長魏铅。 經(jīng)常有香客問我昌犹,道長,這世上最難降的妖魔是什么览芳? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任斜姥,我火速辦了婚禮,結(jié)果婚禮上沧竟,老公的妹妹穿的比我還像新娘铸敏。我一直安慰自己,他們只是感情好屯仗,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布搞坝。 她就那樣靜靜地躺著,像睡著了一般魁袜。 火紅的嫁衣襯著肌膚如雪桩撮。 梳的紋絲不亂的頭發(fā)上敦第,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機與錄音店量,去河邊找鬼芜果。 笑死,一個胖子當著我的面吹牛融师,可吹牛的內(nèi)容都是我干的右钾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼旱爆,長吁一口氣:“原來是場噩夢啊……” “哼舀射!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怀伦,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤脆烟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后房待,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體邢羔,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年桑孩,在試婚紗的時候發(fā)現(xiàn)自己被綠了拜鹤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡流椒,死狀恐怖敏簿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镣隶,我是刑警寧澤极谊,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站安岂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏帆吻。R本人自食惡果不足惜域那,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望猜煮。 院中可真熱鬧次员,春花似錦、人聲如沸王带。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愕撰。三九已至刹衫,卻和暖如春醋寝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背带迟。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工音羞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仓犬。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓嗅绰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搀继。 傳聞我的和親對象是個殘疾皇子窘面,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容