构建虚拟主机以及访问控制
構(gòu)建虛擬主機以及訪問控制
理論部分:
上一章我們講到的AWSTATS系統(tǒng),統(tǒng)計頁面在WEB界面上呈現(xiàn)出來,有一個問題我們都注意到了,只要是輸入地址就可以訪問,這樣任何人都可以看到公司的網(wǎng)站訪問情況,這樣做非常的有風險,今天我們第一個目的就是為了解決這樣的問題,進行訪問控制,只允許,那些人訪問或者是拒絕那些人訪問。有兩種方法可以實現(xiàn),一種是通過IP地址或者是主機名來進行控制,第二種是通過建立驗證的文件,在里面添加用戶。
設(shè)置去訪問控制需要在主配置文件中的區(qū)域配置文件中進行設(shè)置
Order allow,deny
Allow from all
Deny from 192.168.1.10
第一行為先匹配允許的規(guī)則,在匹配拒絕的規(guī)則,Order定義的是匹配的順序,但是這里要注意,不是允許規(guī)則匹配成功之后,就不匹配拒絕規(guī)則了,而繼續(xù)匹配拒絕規(guī)則,最后一條規(guī)則是拒絕則拒絕,最后一條規(guī)則允許,則允許
第二行為允許所有人通過,但是第三行拒絕了192.168.1.10這個IP地址,那么也就是說,第一條規(guī)則匹配完成之后,允許所有人通過,但是還有拒絕的屬性,所以還需要匹配拒絕的規(guī)則,拒絕規(guī)則拒絕了192.168.1.10所以192.168.1.10不能訪問網(wǎng)站
Order deny ,allow
Deny from 192.168.1.10
這個例子說明了,先匹配拒絕的規(guī)則,192.168.1.10不能訪問,在匹配允許規(guī)則,沒有定義允許規(guī)則,這里是不匹配拒絕規(guī)則則默認為全部允許,因為allow沒有定義規(guī)則,則默認為允許所有,上訴案例只拒絕了192.168.1.10這個IP地址訪問
通過IP地址控制訪問就介紹到這里,接下來我們介紹一下如何通過用戶驗證的方式進行訪問控制
使用Apache自帶的工具生成一個驗證文件,在這個文件里面添加需要授權(quán)的用戶即可。這里我們到了實驗部分在進行介紹。
虛擬主機分為三種,分別是基于域名的虛擬主機,基于IP的虛擬主機,基于端口號的虛擬主機。
基于域名的虛擬主機需要DNS服務器的支持,不能使用IP地址進行訪問,基于域名的也是最常用的
基于IP地址的,就是一個地址對應一個WEB站點。
基于端口號的,IP地址相同,域名可以不相同,但是端口號不能相同,訪問時除了默認端口80和443其他端口必須以192.168.1.10:901這種格式去訪問,用戶需要記住端口號才能訪問,所以一般情況下不使用。
理論部分就介紹這么多,現(xiàn)在我們進行我們今天的實驗部分:
拓撲圖還是上一次的拓撲圖
實驗案例:
基于域名的虛擬主機
需求描述
設(shè)置www.di.com、www.tian.com站點目錄
構(gòu)建基于域名的虛擬主機服務器
站點www.jbit.com啟用用戶認證功能
搭建AWstats系統(tǒng)為兩個站點統(tǒng)計日志,并且實現(xiàn)只有192.168.100.20和lzg這個用戶才能訪問
PS:在實際的生產(chǎn)環(huán)境下拒絕IP地址是不常用的。
先搭建DNS服務器為www.di.com和www.tian.com提供域名解析,BIND服務在上一章我們已經(jīng)搭建完成了,這一次直接修改配置文件即可
vim /var/named/chroot/etc/named.conf
options{
directory "/var/named";
};
zone "di.com" IN{
type master;
file "di.com.zone";
};
zone "tian.com" IN{
type master;
file "tian.com.zone";
};
:wq
vim /var/named/chroot/var/named/di.com.zone
$ttl 86400
@ soa di.com. admin.di.com. (
20150915
15M
4H
1W
1D
)
@ IN NS dns.lzg.com.
IN MX 10 mail.di.com.
www IN A 192.168.100.2
* IN A 192.168.100.2
vim /var/named/chroot/var/named/tian.com.zone
$ttl 86400
@ soa tian. admin.tian.com. (
20150916
15M
4H
1W
1D
)
@ IN NS dns.lzg.com.
IN MX 10 mail.tian.com.
www IN A 192.168.100.2
* IN A 192.168.100.2
:wq
service named start
service iptables stop
接下來搭建Apache服務
參考WEB1文檔
基本部署完成之后
打開
圖1
這個目錄存放了一些其他輔助的配置文件,其中虛擬主機的配置文件就在這里
圖2
默認的配置文件的內(nèi)容,這里我們需要修改的有
圖3
我將注釋全部刪除掉之后剩余的有效配置項,我這里是為了看著方便注意不要刪除那些注釋,否則可能不能訪問
NameVirtualHost配置項用于基于域名的虛擬主機,基于IP或基于端口號的虛擬主機注釋掉或刪除掉,不能存在
接下來我們創(chuàng)建站點的網(wǎng)頁根目錄,根據(jù)配置文件的路徑
圖4
{里面的是要創(chuàng)建的目錄名使用逗號進行分割可以創(chuàng)建多個}
接下來寫入主頁
圖5
主頁建立完成了,接下來我們修改主配置文件,讓主配置文件能夠讀取擴展的配置文件
vim /usr/local/httpd/conf/httpd.conf
圖6
將前面的注釋去掉也行,在下面再添加一行也行,Include就是指定擴展文件所在的路徑
圖7
進行語法檢測,沒有問題,我們將服務啟動
圖8
啟動服務時出現(xiàn)的是主配置文件中ServerName沒有指定站點名,不影響服務的啟動
關(guān)閉iptables service iptables stop
我們進行訪問
圖9
訪問被拒絕了,原因有兩種,一種是目錄沒有權(quán)限,我們來看一下di這個目錄order有沒有讀取和執(zhí)行權(quán)限
圖10
目錄有讀取的權(quán)限,那就是另外一種情況,在擴展區(qū)域中沒有指定訪問的權(quán)限,默認為拒絕所有,現(xiàn)在我們編輯 /usr/local/httpd/conf/extra/httpd-vhost.conf
圖11
在這個文件中分別加入這兩個站點的路徑,賦予訪問的權(quán)限,這就跟我們上面的理論只是相吻合,用實驗驗證理論
圖12
語法檢測沒有任何問題
現(xiàn)在重新讀取配置文件
圖13
現(xiàn)在在進行訪問
圖14
圖15
已經(jīng)能夠成功的訪問這兩個網(wǎng)站了。
現(xiàn)在我們控制不讓所有人訪問www.di.com
那么就需要修改httpd-vhosts.conf這個文件
圖16
修改權(quán)限,拒絕192.168.100.204訪問
service httpd graceful 重新加載配置文件
圖16
已經(jīng)不能訪問了,在客戶端將IP地址更改之后能夠訪問
圖17
可以正常訪問。接下來我們來進行用戶身份驗證的方式
圖18
接下來我們還需要在配置文件中添加授權(quán)認證配置項
圖19
加入這四行就可以了
AuthName 描述信息
AuthType 認證的類型 basic為基本認證
AuthUserFile 指定驗證文件的路徑
require user lzg 授權(quán)哪些用戶可以訪問 也可以直接授權(quán).userpd這個文件
require valid-user 直接讓這個文件的用戶都可以訪問
service httpd graceful
圖20
驗證成功
圖21
已經(jīng)成功的訪問到了
轉(zhuǎn)載于:https://blog.51cto.com/ttxjs/1725153
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的构建虚拟主机以及访问控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS开发常见warning汇总
- 下一篇: Yii2中如何将Jquery放在head