一. Httpd服務(wù)的訪問(wèn)控制
實(shí)驗(yàn)環(huán)境:一臺(tái)centos6.5+rhl.5.5+2003server
client客戶機(jī)兩塊網(wǎng)卡:eth0 ip 192.168.1.1 eth1 ip 192.168.1.10
在配置第二塊網(wǎng)卡的時(shí)候,把eth0的配置文件cp一個(gè)副本并改名eth1 進(jìn)入配置正常配置
Chmod +x /etc/sysconfig/network-scripts/ifcfg-eth1 重新激活網(wǎng)卡
紅帽:ip192.168.1.6
2003server:ip 192.168.1.3
1.)客戶機(jī)地址限制
httpd服務(wù)通過(guò)Order、Allow from、Deny from配置項(xiàng)實(shí)現(xiàn)客戶機(jī)地址訪問(wèn)控制
Vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
Service network restart重啟網(wǎng)卡
vim /usr/local/httpd/conf/httpd.confApache主配置文件
配置httpd.conf的目錄區(qū)域
<Directory 目錄位置>.......</Directory>范圍內(nèi)
Order配置選項(xiàng)可以設(shè)置為‘a(chǎn)llow,deny’或‘deny,allow’以決定主機(jī)應(yīng)用“允許”和“拒絕”策略的先后順序
限制策略的格式如
Deny from address1 address2 ...
Allow from address1 address2 ...
Order allow,deny
Allow from all
下面是具體目錄區(qū)域配置:
<Directory “/usr/local/awstats/wwwroot”>
Options None
AllowOverride None
Order allow,deny
allow from 192.168.1.6 (地址或網(wǎng)段)
</Directory>
<Directory “/usr/local/awstats/wwwroot”>
Options None
AllowOverride None
Order deny,allow
deny from 192.168.1.3 (地址或網(wǎng)段)
</Directory>
Service httpd restart
驗(yàn)證:

192.168.1.6可以訪問(wèn)awstats,192.168.1.3無(wú)權(quán)限訪
2.)用戶授權(quán)
使用用戶授權(quán)在這里需要使用htpasswd工具生成用戶和密碼認(rèn)證數(shù)據(jù)文件
httpd服務(wù)通過(guò)AuthName、AuthType、AuthUserfile、及require valid-user配置項(xiàng)實(shí)現(xiàn)目錄的用戶授權(quán)
cd /usr/local/httpd
bin/htpasswd –c /usr/local/httpd/conf/.pass_user_lite hehe(用戶名)
//根據(jù)提示設(shè)置密碼
/bin/htpasswd /usr/local/httpd/conf/.user_lite xixi(用戶名)
//第二次創(chuàng)建就不需要加 -c 第一次加-c是因?yàn)樾枰付ㄓ脩魯?shù)據(jù)文件的位置所以需要?jiǎng)?chuàng)建一個(gè)文件
cat /usr/local/httpd/conf/.user_lite確定用戶數(shù)據(jù)文件已創(chuàng)建
vim /usr/local/httpd/conf/httpd.conf
<Directory “/usr/local/awstats/wwwroot”>
Options None
AllowOverride None
Order allow,deny
allow from all
AuthName “hehe xixi” 定義受保護(hù)的領(lǐng)域名稱,該區(qū)域會(huì)在瀏覽器彈出認(rèn)證框中顯示出此內(nèi)容(在這里我寫的是我創(chuàng)建的用戶名,提醒自己的記憶,以免忘了?。。?/p>
AuthType Basic 認(rèn)證的類型,Basic表示基本認(rèn)證
AuthUserFile /usr/local/httpd/conf/.user_lite 這里填寫用于保存用戶賬號(hào),密碼的認(rèn)證文件路徑
require valid-user 合法有效用戶 若只授權(quán)給單個(gè)用戶,那么需要指定單個(gè)用戶如(hehe) 只有指定的用戶才認(rèn)證可以訪問(wèn)
</ Directory >
Service httpd restart 每次配置完就重啟一下服務(wù)
基本認(rèn)證登錄界面

認(rèn)證失敗拒絕訪問(wèn)

二.構(gòu)建虛擬web主機(jī)
httpd服務(wù)支持三種類型的虛擬web主機(jī),分別是基于域名,基于IP地址、基于端口的虛擬主機(jī)
為了方便,此處我沒(méi)有安裝DNS ,因用到域名解析應(yīng)該要安裝DNS 所以現(xiàn)在測(cè)試機(jī)上添加hosts文件記錄代替
- 先創(chuàng)建兩個(gè)不同網(wǎng)站的站點(diǎn)
mkdir /www/{benet,accp} -p
echo “welcome to benet server” > /www/benet/index.html
echo “welcome to accp server” > /www/accp/index.html
cat /www/benet/index.html
cat /www/accp/index.html
一)基于域名
vim /usr/local/httpd/conf/httpd.conf
滾動(dòng)到配置文件99%的地方(也可以使用查找關(guān)鍵詞跳轉(zhuǎn)到關(guān)鍵詞位置)
#Virtual hosts
Include conf/extra/httpd-vhosts.conf 去掉前面的#號(hào)調(diào)用這個(gè)配置文件資源
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 編輯剛才需要調(diào)用的文件
在文件26%的地方輸入
NameVirtualHost 192.168.1.1:80 虛擬主機(jī)地址+端口
區(qū)域目錄配置允許所有人訪問(wèn)咱們的網(wǎng)站index.html
<Directory "/www">
Order allow,deny
allow from all
</Directory>
在配置文件89%的地方
<VirtualHost 192.168.1.1:80>
DocumentRoot "/www/benet"
ServerName www.benet.com
ErrorLog "logs/benet.com-error_log"
CustomLog "logs/benet.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.1.1:80>
DocumentRoot "/www/accp"
ServerName www.accp.com
ErrorLog "logs/accp.com-error_log"
CustomLog "logs/accp.com-access_log" common
</VirtualHost>
service httpd restart
2003客戶端驗(yàn)證:
http://www.benet.com/
http://www.accp.com/

二)基于IP地址
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
NameVirtualHost 192.168.1.1:80
<Directory "/www">
Order allow,deny
allow from all
</Directory>
<VirtualHost 192.168.1.1:80>
DocumentRoot "/www/benet"
ServerName www.benet.com
ErrorLog "logs/benet.com-error_log" CustomLog
"logs/benet.com-access_log" common
<VirtualHost>
<VirtualHost 192.168.2.1:80>
DocumentRoot "/www/accp"
ServerName www.accp.com
ErrorLog "logs/accp.com-error_log" CustomLog
"logs/accp.com-access_log" common
<VirtualHost>
service httpd restart
客戶端驗(yàn)證:
http://192.168.1.1/
http://192.168.1.10/

三)基于端口 http默認(rèn)端口80
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
listen 8080 監(jiān)聽端口
<Directory "/www">
Order allow,deny
allow from all
</Directory>
<VirtualHost 192.168.1.1:80>
DocumentRoot "/www/benet"
ServerName www.benet.com
ErrorLog "logs/benet.com-error_log" CustomLog
"logs/benet.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.1.1:8080>
DocumentRoot "/www/accp"
ServerName www.accp.com
ErrorLog "logs/accp.com-error_log" CustomLog
"logs/accp.com-access_log" common
</VirtualHost>
service httpd restart
客戶端驗(yàn)證:
http://192.168.1.1:8080
http://192.168.1.1:80
