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