APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機-創(chuàng)新互聯(lián)

博文目錄
一、Httpd服務(wù)的訪問控制
1、客戶機地址限制
2、用戶授權(quán)限制
二、構(gòu)建虛擬Web主機
三、配置基于域名的虛擬主機
四、配置基于IP地址的虛擬主機
五、配置基于端口號的虛擬主機

在漠河等地區(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ù)的訪問控制

為了更好地控制對網(wǎng)站資源的訪問。可以為特定的網(wǎng)站目錄添加訪問授權(quán)。主要分為客戶機地址限制和用戶授權(quán)限制,這兩種訪問控制方式都應(yīng)用于httpd.conf配置文件中的目錄區(qū)域范圍內(nèi)。

1、客戶機地址限制

通過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>

2、用戶授權(quán)限制

基于用戶的訪問控制包含認證和授權(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)不會生效。

二、構(gòu)建虛擬Web主機

虛擬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ù)
下面不在進行詳細的解釋。

1、為虛擬主機提供域名解析

[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

2、編輯網(wǎng)卡

[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ù)-->

3、客戶端解析域名

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

4、為虛擬機準備網(wǎng)頁文檔

為每個虛擬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

5、修改主配置文件支持虛擬主機

[root@centos01 ~]# vi /usr/local/httpd/conf/httpd.conf   <!--編輯主配置文件-->
    390 # Virtual hosts
391 Include conf/extra/httpd-vhosts.conf             <!--刪除該行前面的#號-->

6、修改虛擬主機訪問權(quán)限

[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>

7、配置基于域名的虛擬主機

[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ù)-->

8、客戶端訪問驗證

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

四、配置基于IP地址的虛擬主機

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ù)-->

2、配置基于IP地址的虛擬主機

[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ù)-->

3、客戶端訪問驗證

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

五、配置基于端口號的虛擬主機

1、修改Apache主配置文件

[root@centos01 ~]# vi /usr/local/httpd/conf/httpd.conf  <!-編輯主配置文件-->
     40 Listen 80
     41 Listen 8080   <!--添加8080端口號-->

2、配置基于端口的虛擬主機

[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ù)-->

3、客戶端訪問驗證

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

APache網(wǎng)站服務(wù)配置訪問控制和構(gòu)建虛擬主機

—————— 本文至此結(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)

h5響應(yīng)式網(wǎng)站建設(shè)