Apache 提供了多種的安全控制手段,包括WEB訪問(wèn)控制,用戶登錄密布認(rèn)證以及.htaccess文件等。
1)訪問(wèn)控制
在配置文件中,Direcotry段用于設(shè)置與目錄相關(guān)的參數(shù)和指令,包括訪問(wèn)控制和認(rèn)證
目錄相關(guān)的配置參數(shù)和指令
?
相關(guān)指令:1.Allow指令用于設(shè)置哪些客戶端可以方問(wèn)Apache,格式如下
Allow from [All/全域名/部分域名/IP地址/網(wǎng)絡(luò)地址/CIDR地址]
2.Deny指令用于設(shè)置拒絕哪些客戶端訪問(wèn)Apache,格式跟Allow一樣
3.Order指令用于指定執(zhí)行訪問(wèn)規(guī)則的先后順序
Order Allow,Deny :先執(zhí)行充許訪問(wèn)規(guī)則,再執(zhí)行拒絕訪問(wèn)規(guī)則
Order Deny,Allow
2)用戶認(rèn)證
Apache的用戶認(rèn)證包括基本(Basic)認(rèn)證和摘要(Digest)認(rèn)證兩種。這里我們只探討一下基本認(rèn)證
基本認(rèn)證:當(dāng)Web瀏覽器請(qǐng)求經(jīng)此認(rèn)證模式保護(hù)的URL時(shí),將會(huì)出現(xiàn)一個(gè)對(duì)話框,要求用記輸入用戶名和口令。如果正確,則返回頁(yè)面,否則返回401錯(cuò)誤
要使用用戶認(rèn)證,首先要?jiǎng)?chuàng)建保存了用戶名和口令的認(rèn)證口令文件??梢杂萌缦旅睿?/p>
#htpasswd -c /etc/httpd/conf/users lopn *在/etc/httpd/conf目錄下創(chuàng)建一個(gè)名為users 的認(rèn)證口令文件,并加入一個(gè)名為lopn的用戶
#htpasswd /etc/httpd/conf/users xrp *表示加入一個(gè)xrp用戶
有了認(rèn)證口令文件,接下來(lái)我們需要更改配置文件
#
# Options Indexes FollowSymlinks
# AllowOverride None
#
# AuthType Basic *使用authtype參數(shù)設(shè)置認(rèn)證類型
# AuthName 領(lǐng)域名稱 *用天設(shè)置受保護(hù)領(lǐng)域的名稱,此處沒(méi)有限制,用戶可根喜好設(shè)置
# AuthUserFile /etc/httpd/conf/users *使用AuthUserFile參數(shù)設(shè)置認(rèn)證口令文件的位置
# Require user lopn *設(shè)置lopn用戶可以訪問(wèn)
# Require valid-user *授權(quán)給認(rèn)證口令文件中的所有用戶 ,與上一個(gè)選一種即可
#
# Order ……
# ……
#
?
3)分布式配置文件.htaccess
.htaccess,該文件可以覆蓋httpd.conf文件中的配置,但是它只能設(shè)置對(duì)目錄的訪問(wèn)控制和用戶認(rèn)證。.htaccess文件可以有多個(gè),每個(gè).htaccess文件的作用范圍僅限于該文件所存放的目錄以及該目錄下的所有子目錄。.htaccess所能實(shí)現(xiàn)的功能在配置文件中都能實(shí)現(xiàn),但是因?yàn)樵?htaccess修改配置后并不需要重啟服務(wù)就能生效,所以有時(shí)候是非常有用的1,操作如下
打開(kāi)配置文件在,設(shè)置
#
# *允許.htaccess文件覆蓋httpd.conf文件中對(duì)該目錄的配置
# AllowOverride All
#
?
然后到指定的目錄,創(chuàng)建一個(gè).htaccess文件,寫(xiě)入配置,不用重啟就可以生效
8、虛擬主機(jī)(基于主機(jī)名)下面為配置文件中的說(shuō)詳細(xì)說(shuō)明,挺簡(jiǎn)單,這里就不重復(fù)了
#NameVirtualHost *:80
#所有接口都接受該請(qǐng)求
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#
電子發(fā)燒友App


















評(píng)論