博文目錄
在漠河等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,漠河網(wǎng)站建設(shè)費用合理。
一、Httpd服務(wù)的訪問控制
1、客戶機地址限制
2、用戶授權(quán)限制
二、構(gòu)建虛擬Web主機
三、配置基于域名的虛擬主機
四、配置基于IP地址的虛擬主機
五、配置基于端口號的虛擬主機
為了更好地控制對網(wǎng)站資源的訪問。可以為特定的網(wǎng)站目錄添加訪問授權(quán)。主要分為客戶機地址限制和用戶授權(quán)限制,這兩種訪問控制方式都應(yīng)用于httpd.conf配置文件中的目錄區(qū)域范圍內(nèi)。
通過Require配置項,可以根據(jù)主機的主機名或IP地址來決定是否允許客戶端訪問。在httpd服務(wù)器的主配置文件的<Location>、<Directory>、<Files>、<Limit>配置段中均可以使用Require配置項來控制客戶端的訪問。地址的形式可以是IP地址、網(wǎng)絡(luò)地址、主機名和域名,使用名稱“all”時表示任意地址。限制策略的常用格式如下所示:
- Require all granted:表示允許所有主機訪問。
- Require all denied:表示拒絕所有主機訪問。
- Require local:表示僅本地主機訪問。
- Require [not] host <主機名或域名列表>:表示允許或拒絕指定主機或域訪問。
- Require [not] ip <IP地址或網(wǎng)段列表>:表示允許或拒絕指定IP地址或網(wǎng)段訪問。
定義限制策略時,多個不帶not的require配置語句之間是或的關(guān)系,即任意一條require配置語句就可以訪問,若即有不帶not的require配置語句,又出現(xiàn)了帶not的require配置語句,則語句之間是與的關(guān)系,即同時滿足所有require配置語句才可訪問。
具體配置如下:
做一個策略,僅允許ip地址為192.168.100.101的主機能夠訪問/usr/local/httpd/htdocs網(wǎng)頁目錄下的內(nèi)容,則策略如下(進入網(wǎng)站主配置文件httpd.conf后,在末行模式下輸入/Directory,按回車鍵查找到相應(yīng)的位置):
<Directory "/usr/local/httpd/htdocs">
................ <!--省略部分內(nèi)容-->
Require ip 192.168.100.101 <!--僅允許192.168.100.101的主機訪問網(wǎng)站服務(wù)-->
</Directory>
配置完成重啟服務(wù),192.168.100.101的客戶端就可以訪問了。
反之,需要使用“僅拒絕”的限制策略時,靈活使用Require與Require not配置語句設(shè)置拒絕策略,只禁止一部分主機訪問。在使用not禁止訪問時要將其置于<RequireALL></RequireALL>容器中,并在容器中指定相應(yīng)的限制策略。
具體配置如下:
<Directory "/usr/local/httpd/htdocs">
................ <!--省略部分內(nèi)容-->
<RequireAll>
Require all granted
Require not ip 192.168.100.0/24 192.168.200.0/24 <!--拒絕100.0/24和200.0/24網(wǎng)段訪問,允許其他任何主機訪問-->
</RequireAll>
</Directory>
也可以通過以下方式來限制:
<Directory "/usr/local/httpd/htdocs">
................ <!--省略部分內(nèi)容-->
Deny from 192.168.100.0/24 192.168.200.0/24 <!--拒絕100.0/24和200.0/24網(wǎng)段訪問,允許其他任何主機訪問-->
</Directory>
基于用戶的訪問控制包含認證和授權(quán)兩個過程,是Apache允許指定用戶使用用戶名和密碼訪問特定資源的一種方式。httpd服務(wù)器支持使用摘要認證(Digest)和基本認證(Basic)兩種方式。使用摘要認證的話需要在編譯http之前添加“--enable-auth-digest”選項,但并不是所有的瀏覽器都支持摘要認證,所以不推薦使用;而基本認證是httpd服務(wù)的基本功能,不需要預(yù)先配置特別的選項。
1)創(chuàng)建用戶認證數(shù)據(jù)文件
[root@centos01 ~]# /usr/local/httpd/bin/htpasswd -c /usr/local/httpd/htdocs/.password admin <!--#使用
htpasswd工具創(chuàng)建用戶,該用戶與系統(tǒng)用戶無關(guān),.password文件以.開頭,表示為隱藏目錄,該
目錄默認不存在,所以要加-c選項,在以后需要添加用戶時,不能加-c選項,
否則會覆蓋原來的內(nèi)容-->
New password: <!--輸入密碼-->
Re-type new password: <!--確認密碼-->
Adding password for user admin <!--提示添加成功-->
查看用戶是否添加:
[root@localhost httpd]# cd /usr/local/httpd/ <!--切換至網(wǎng)站安裝根目錄-->
[root@localhost httpd]# cat conf/.password
admin:oVc8B0TaIVv0s <!--用戶admin的信息-->
2)修改Apache主配置文件加載身份驗證
[root@centos01 ~]# vi /usr/local/httpd/conf/httpd.conf <!--編輯主配置文件-->
....... <!--此處省略部分內(nèi)容-->
AuthName "Default" <!--定義訪問域的名字-->
AuthType Basic <!--基本身份驗證-->
AuthuserFile /usr/local/httpd/htdocs/.password <!--驗證數(shù)據(jù)庫位置-->
Require valid-user <!--經(jīng)過賬戶密碼驗證的合法賬戶可以訪問-->
</Directory>
3)重啟apache服務(wù)
[root@centos01 ~]# systemctl restart httpd <!--重啟httpd服務(wù)-->
客戶端訪問會出現(xiàn)提示框,輸入賬戶密碼就可以訪問了,需要注意的是,用戶訪問授權(quán)與主機訪問控制同時設(shè)置時,設(shè)置的主機訪問控制優(yōu)先生效。所以在進行用戶授權(quán)限制時,需要刪除掉其中的require語句。要不然,用戶訪問授權(quán)不會生效。
虛擬Web主機指的是在同一臺服務(wù)器中運行多個Web站點,其中的每個站點實際上并不獨立占用整個服務(wù)器,因此被稱為“虛擬”Web主機。通過虛擬Web主機服務(wù)可以充分利用服務(wù)器的硬件資源,從而大大降低網(wǎng)站構(gòu)建及運行成本。使用httpd可以非常方便地構(gòu)建虛擬主機服務(wù)器,只需要運行一個httpd服務(wù)就能夠同時支撐大量的Web站點。httpd支持的虛擬主機類型包括一下三種:
- 基于域名:為每個虛擬主機使用不同的域名,但是其對應(yīng)的IP地址是相同的。這是使用最為普遍的虛擬Web主機類型。
基于域名:為每個虛擬主機使用不同的域名,但是其對應(yīng)的IP地址是相同的。這是使用最為普遍的虛擬Web主機類型。- 基于IP地址:為每個虛擬主機使用不同的域名,且各自對應(yīng)的IP地址也 不相同。這種方式需要為服務(wù)器配備多個網(wǎng)絡(luò)接口,因此應(yīng)用并不是非常廣泛。
- 基于端口:為每個虛擬主機使用不同的域名,IP地址來區(qū)分不同的站點內(nèi)容,而是使用了不同的TCP端口號,因此用戶在瀏覽不同的虛擬站點時需要同時指定端口號才能訪問。
DNS自行搭建,如果有不明白的可以參考博文:CentOS7簡單搭建DNS服務(wù)
下面不在進行詳細的解釋。
[root@centos01 ~]# vi /etc/named.conf <!--編輯主配置文件-->
options {
listen-on port 53 { 192.168.100.10;};
directory "/var/named";
allow-query { 192.168.100.0/24; };
};
zone "bdqn.com" IN {
type master;
file "bdqn.com.zone";
};
zone "benet.com" IN {
type master;
file "benet.com.zone";
};
[root@centos01 ~]# vi /var/named/bdqn.com.zone <!--編輯bdqn.com正向解析區(qū)域-->
$TTL 86400
@ SOA bdqn.com. root.bdqn.com(
2019081610
1H
15M
1W
1D
)
@ NS centos01.bdqn.com.
centos01 A 192.168.100.10
www A 192.168.100.10
[root@centos01 ~]# cp /var/named/bdqn.com.zone /var/named/benet.com.zone
[root@centos01 ~]# vi /var/named/benet.com.zone <!--編輯benet.com正向解析區(qū)域-->
TTL 86400
@ SOA benet.com. root.benet.com(
2019081610
1H
15M
1W
1D
)
@ NS centos01.benet.com.
centos01 A 192.168.100.10
www A 192.168.100.10
[root@centos01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32 <!--編輯網(wǎng)卡-->
…… <!—省略部分內(nèi)容-->
DNS1=192.168.100.10 <!--添加DNS-->
[root@centos01 ~]# systemctl restart network <!--重啟網(wǎng)卡服務(wù)-->
[root@centos01 ~]# systemctl restart named <!--重啟DNS服務(wù)-->
為每個虛擬web主機準備網(wǎng)站目錄及網(wǎng)頁文檔。為了方便測試,分別為每個虛擬web主機提供包含不同的首頁文件:
[root@centos01 ~]# mkdir -p /var/www/
[root@centos01 ~]# mkdir -p /var/www/bdqn.com
[root@centos01 ~]# mkdir -p /var/www/benet.com
[root@centos01 ~]# echo "www.bdqn.com" > /var/www/bdqn.com/index.html
[root@centos01 ~]# echo "www.benet.com" > /var/www/benet.com/index.html
[root@centos01 ~]# vi /usr/local/httpd/conf/httpd.conf <!--編輯主配置文件-->
390 # Virtual hosts
391 Include conf/extra/httpd-vhosts.conf <!--刪除該行前面的#號-->
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf <!--創(chuàng)建獨立的配置文件-->
NameVirtualHost 192.168.100.10:8 <!--虛擬主機監(jiān)聽的IP地址,默認是*表示監(jiān)聽所有-->
<Directory "/var/www/"> <!--虛擬站點根目錄-->
order deny,allow <!--先拒絕后允許訪問-->
allow from all <!--允許所有人訪問-->
</Directory>
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
NamevirtualHost www.bdqn.com:80 <!--監(jiān)聽域名-->
NamevirtualHost www.benet.com:80 <!--監(jiān)聽域名-->
<Directory "/var/www/">
order deny,allow
allow from all
</Directory>
<VirtualHost 192.168.100.10:80> <!--虛擬主機IP地址和端口號-->
DocumentRoot "/var/www/bdqn.com/" <!--網(wǎng)站根目錄位置-->
ServerName www.bdqn.com <!--網(wǎng)站域名-->
ErrorLog "logs/www.bdqn.com.error_log" <!--錯誤日志-->
CustomLog "logs/www.bdqn.com.access_log" common <!--訪問日志-->
</VirtualHost>
<VirtualHost 192.168.100.10:80> <!--參考以上注釋-->
DocumentRoot "/var/www/benet.com/"
ServerName www.benet.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
[root@centos01 ~]# systemctl restart httpd <!--重啟httpd服務(wù)-->
1、復(fù)制一個新的網(wǎng)卡
[root@centos01 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:1
[root@centos01 network-scripts]# vim ifcfg-ens32:1 <!--編輯32:1網(wǎng)卡-->
...... <!--此處省略部分內(nèi)容-->
NAME=ens32:1 <!--修改名字-->
DEVICE=ens32:1 <!--修改名字-->
ONBOOT=yes
IPADDR=192.168.100.20 <!--編輯IP地址-->
NATEMASK=255.255.255.0
DNS1=192.168.100.10 <!--添加DNS-->
[root@centos01 ~]# systemctl restart network <!--重啟網(wǎng)卡服務(wù)-->
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf <!--創(chuàng)建獨立配置文件-->
NamevirtualHost www.bdqn.com:80
NamevirtualHost www.benet.com:80
<Directory "/var/www/">
order deny,allow
allow from all
</Directory>
<VirtualHost 192.168.100.10:80> <!--bdqn.com是192.168.100.10-->
DocumentRoot "/var/www/bdqn.com/"
ServerName www.bdqn.com
ErrorLog "logs/www.bdqn.com.error_log"
CustomLog "logs/www.bdqn.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.100.20:80> <!--benet.com是192.168.100.20-->
DocumentRoot "/var/www/benet.com/"
ServerName www.benet.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
[root@centos01 ~]# systemctl restart httpd <!--重啟Httpd服務(wù)-->
[root@centos01 ~]# vi /usr/local/httpd/conf/httpd.conf <!-編輯主配置文件-->
40 Listen 80
41 Listen 8080 <!--添加8080端口號-->
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf <!--創(chuàng)建獨立配置文件-->
NamevirtualHost www.bdqn.com:80
NamevirtualHost www.benet.com:80
<Directory "/var/www/">
order deny,allow
allow from all
</Directory>
<VirtualHost 192.168.100.10:80> <!--bdqn.com是80端口-->
DocumentRoot "/var/www/bdqn.com/"
ServerName www.bdqn.com
ErrorLog "logs/www.bdqn.com.error_log"
CustomLog "logs/www.bdqn.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.100.10:8080> <!--benet.com是8080端口-->
DocumentRoot "/var/www/benet.com/"
ServerName www.benet.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
[root@centos01 ~]# systemctl restart httpd <!--重啟httpd服務(wù)-->
—————— 本文至此結(jié)束,感謝閱讀 ——————
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享標題:APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article36/dhdjsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、用戶體驗、網(wǎng)站策劃、網(wǎng)站排名、電子商務(wù)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容