httpd常用配置:虚拟主机

2020-02-21  本文已影响0人  Simon_Ye

虚拟主机

站点标识:socket

  1. IP相同,但端口不同;
  2. IP不同,但端口均为默认端口;
  3. FQDN不同;
     请求报文中首部:
     HOST: www.magedu.com

有三种实现方案:

  1. 基于IP:
    为每个虚拟主机准备至少一个IP地址;
  2. 基于PORT:
    为每个虚拟主机使用至少一个独立的port;
  3. 基于FQDN:
    为每个虚拟主机使用至少一个FQDN;

注意:一般虚拟主机不要与中心主机混用;因此,要使用虚拟主机,得先禁用'main'主机;禁用方法:注释中心主机的DocumentRoot指令即可;

虚拟主机的配置方法:

<VirtualHost IP:PORT>
  ServerName FQDN
  DocumentRoot " "
</VirtualHost>

示例:

  1. 基于IP的虚拟主机示例:
    <VirtualHost 172.16.100.6:80>
      ServerName www.a.com
      DocumentRoot "/www/a.com/htdocs"
    </VirtualHost>
    
    <VirtualHost 172.16.100.7:80>
      ServerName www.b.net
      DocumentRoot "/www/b.com/htdocs"
    </VirtualHost>
    
    <VirtualHost 172.16.100.8:80>
      ServerName www.c.org
      DocumentRoot "/www/c.com/htdocs"
    </VirtualHost>
    
  2. 基于端口的虚拟主机:
    <VirtualHost 172.16.100.6:80>
      ServerName www.a.com
      DocumentRoot "/www/a.com/htdocs"
    </VirtualHost>
    
    <VirtualHost 172.16.100.6:808>
      ServerName www.b.net
      DocumentRoot "/www/b.com/htdocs"
    </VirtualHost>
    
    <VirtualHost 172.16.100.6:8080>
      ServerName www.c.org
      DocumentRoot "/www/c.com/htdocs"
    </VirtualHost>
    
  3. 基于FQDN的虚拟主机:
    NameVirtualHost 172.16.100.6:80    #如果是httpd-2.2,使用基于FQDN的虚拟主机时,需要事先使用此指令;
    
    <VirtualHost 172.16.100.6:80>
      ServerName www.a.com
      DocumentRoot "/www/a.com/htdocs"
    </VirtualHost>
    
    <VirtualHost 172.16.100.6:80>
      ServerName www.b.net
      DocumentRoot "/www/b.com/htdocs"
    </VirtualHost>
    
    <VirtualHost 172.16.100.6:80>
      ServerName www.c.org
      DocumentRoot "/www/c.com/htdocs"
    </VirtualHost>
    
上一篇 下一篇

猜你喜欢

热点阅读