中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于httpd實現虛擬主機

發布時間:2020-06-20 12:58:03 來源:網絡 閱讀:1699 作者:maomaosan2012 欄目:網絡安全

       眾所周知,一臺物理服務器只能運行一個站點,但如若想實現一臺服務器運行多個站點時,就不得不用到虛擬主機了。虛擬主機,顧名思義,就是一個虛擬出來的主機,當在服務單配置完成后,客戶端訪問時就像是訪問了多個后端服務器。


    實現虛擬主機有三種不同的方式:

  1. 基于IP的虛擬主機:使用不同的IP地址提供不同的站點

  2. 基于PORT的虛擬主機:使用不同的端口提供不同的站點

  3. 基于HOSTNAME的虛擬主機:使用不同的主機名提供不同站點

    

    為了更直觀的感受,下面一一實現基于三種方式的虛擬主機:

    說明一下實驗環境,實驗主機為centos7.3,IP地址為:192.168.1.104

    首先安裝httpd服務,這里使用的是httpd2.4.6版本:

# yum -y install httpd

    安裝完成后查看安裝文件:

# rpm -ql httpd

     對應的文件做一些簡單說明:

    服務腳本:/etc/rc.d/init.d/httpd
    腳本配置文件:/etc/sysconfig/httpd
    運行目錄:/etc/httpd
    配置文件:
    主配置文件:/etc/httpd/conf/httpd.conf
    擴展配置:/etc/httpd/conf.d/*.conf
    監聽的Socket:80/tcp,443/tcp
    文檔根目錄:/var/www/html
    CGI:/var/www/cgi-bin/
    默認主頁:index.html


    在實驗之前,須確保在httpd.conf配置文件中:

        httpd服務監聽的端口為80

        注釋掉DocumentRoot "/var/www/html/"

    

    一、基于IP的虛擬主機實現:

        本機的IP地址為192.168.1.104,需在添加一個IP地址:


# ifconfig ens36:0 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255  up


    用ifconfig查看:

    

基于httpd實現虛擬主機

    可看到ens36:0已添加成功。


    為了便于管理,我們在擴展配置文件中新建VirtualHost.conf文件:

]# vim VirtualHost.conf

    添加內容如下:

<VirtualHost 192.168.1.104:80>
    DocumentRoot "/var/www/test1/"
    ServerName 192.168.1.104
</VirtualHost>
<VirtualHost 192.168.1.200:80>
    DocumentRoot "/var/www/test2/"
    ServerName 192.168.1.200
</VirtualHost>

    而后為添加的兩個站點添加主頁

        首先創建兩個目錄:

# mkdir -pv /var/www/test{1,2}
mkdir: created directory ‘/var/www/test1’
mkdir: created directory ‘/var/www/test2’

    為test1提供主頁文件:

# vim /var/www/test1/index.html

    添加內容如下:

<h2>Test1 Page</h2>

    保存退出。站點test2同理;


    執行語法檢查:

# httpd -t
Syntax OK

    重讀配置文件:

# systemctl reload httpd

    測試結果:

    站點test1:

基于httpd實現虛擬主機

    站點test2:

基于httpd實現虛擬主機

    二、基于端口的虛擬主機實現:

    編輯擴展配置文件:

]# vim VirtualHost.conf

    添加內容如下:

<VirtualHost 192.168.1.104:80>
    DocumentRoot "/var/www/test1/"
    ServerName 192.168.1.104
</VirtualHost>
<VirtualHost 192.168.1.104:8080>
    DocumentRoot "/var/www/test2/"
    ServerName 192.168.1.200
</VirtualHost>

    在主配置文件中,監聽端口下面添加一行

Listen 8080

    保存退出

    執行語法檢查:

# httpd -t
Syntax OK

    注:此處由于添加了端口,需要重啟服務方能生效

# systemctl restart httpd
# ss -tnl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128             *:22                          *:*                  
LISTEN     0      100     127.0.0.1:25                          *:*                  
LISTEN     0      128            :::8080                       :::*                  //8080端口已監聽
LISTEN     0      128            :::80                         :::*                   //80端口已監聽
LISTEN     0      128            :::22                         :::*                  
LISTEN     0      100           ::1:25                         :::*

    測試結果:

    站點1:

基于httpd實現虛擬主機

    站點2:

基于httpd實現虛擬主機

    三、由于基于IP和端口的虛擬主機不常用,故而此處演示基于FQDN的虛擬主機實現:

    在擴展配置文件中添加如下內容:

基于httpd實現虛擬主機

    為了使主機名解析成功,需要修改host文件,我們此處使用win下瀏覽器測試,故而需要修改win下hosts文件,路徑為:

C:\Windows\System32\drivers\etc\hosts

    添加如下內容

基于httpd實現虛擬主機

    開始測試:

    站點test1:

基于httpd實現虛擬主機

    站點test2:

基于httpd實現虛擬主機

    以上,即使基于httpd的虛擬主機三種實現方式,但在日常生產中,常需要對特定用戶實現訪問控制,下面簡單演示基于用戶的控制訪問:

    編輯擴展配置文件,并添加如下內容:

基于httpd實現虛擬主機

    接下來用htpasswd生成密碼:

基于httpd實現虛擬主機

    創建對應的admin目錄及主頁文件

# mkdir /var/www/test1/admin    //創建目錄
# vim /var/www/test1/admin/index.html  //創建主業文件
<h2>Authentication</h2>   //添加的內容

    如圖:

基于httpd實現虛擬主機

    而后訪問:

基于httpd實現虛擬主機

    輸入用戶名密碼:

基于httpd實現虛擬主機

基于httpd實現虛擬主機

    至此httpd的虛擬主機和用戶認證就實現了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四川省| 弋阳县| 乌海市| 五华县| 江津市| 台前县| 武平县| 芦山县| SHOW| 桓仁| 望谟县| 杨浦区| 噶尔县| 东方市| 丘北县| 建阳市| 长葛市| 青海省| 赣榆县| 永福县| 延安市| 中宁县| 泾源县| 三都| 隆化县| 和顺县| 松阳县| 佛山市| 虞城县| 平远县| 宁化县| 中西区| 甘孜县| 惠来县| 葫芦岛市| 晋江市| 台北县| 吴川市| 承德市| 巫山县| 阿克苏市|