Linux虚拟主机配置一、概述
虚拟主机(中对虚拟主机的解释。
虚拟主机的实现方式主要有三种:基于域名的方法(
注:实验环境为
二、实战演练1.http配置文件讲解
httpd
[root@Slaver conf]# grep '\&;Section\&;' /etc/httpd/conf/httpd.conf -n33:### Section 1: Global Environment245:### Section 2: 'Main' server configuration977:### Section 3: Virtual Hosts[root@Slaver conf]#
其中:
2
3
与虚拟主机相关的配置项有:
2.基于域名的多站点配置
适用场景:在一台主机上配置两个站点,其域名分别为:
满足此应用的相关配置:
a.修改/etc/httpd/conf/httpd.conf中的配置
i.端口监听开启:Listen80
ii.虚拟主机配置开启:
b.在/etc/httpd/conf.d/中添加站点的配置文件
注意:在
[root@Slaver conf.d]# cat <VirtualHost *:80> DocumentRoot /var/www/html/test01 ServerName <Directory /var/www/html/test01>Options Indexes FollowSymLinksAllowOverride AllOrder Allow,DenyAllow from all</Directory></VirtualHost>[root@Slaver conf.d]#
[root@Slaver conf.d]# cat <VirtualHost *:80> DocumentRoot /var/www/html/test02 ServerName <Directory /var/www/html/test02>Options Indexes FollowSymLinksAllowOverride AllOrder Allow,DenyAllow from all</Directory></VirtualHost>[root@Slaver conf.d]#
重启
c.上述配置项分析
i.VirtualHost*:80
指定虚拟主机的
。
ii.OptionsIndexesFollowSymLinks
Options
iii.AllowOverrideAll
AllowOverride
iv.OrderAllow,Deny
Order
3.基于IP的多站点配置
适用场景:
a.存在主服务器1)基本配置
还记得在
192.168.17.128上主服务器配置:
i.监听
ii.主服务器配置区:ServerName
iii.主服务器配置区:DocumentRoot/var/www/html/test01
192.168.17.131上多虚拟主机配置:
虚拟主机配置:VirtualHost192.168.17.131:80
/etc/httpd/conf.d/
在
注意:设置主服务器后,所有不是针对
2)测试场景
需要测试两种情况:
一、不是针对192.168.17.131的请求都将由主服务器来伺服
二、提交给
现在为web服务器配置三个网络,如下图所示:
并在本机的
访问
访问
b.不存在主服务器
适用场景:假设
服务器可以配置为向来自内部和外部的请求提供同样的内容,只需要一个VirtualHost配置段就可以达到这个目的,服务器配置如下:
监听
配置虚拟主机:NameVirtualHost192.168.17.128:80
NameVirtualHost172.20.30.40:80
/etc/httpd/conf.d/www.test01.conf配置内容:
[root@Slaver conf.d]# cat <VirtualHost 192.168.17.128:80 172.20.30.40:80> DocumentRoot /var/www/html/test01 ServerName <Directory /var/www/html/test01>Options Indexes FollowSymLinksAllowOverride AllOrder Allow,DenyAllow from all</Directory></VirtualHost>[root@Slaver conf.d]#
现在从不同网络提交的请求都会由同一个VirtualHost来伺服。
4.基于端口的多站点配置
适用场景:让同一个
具体配置如下:
i.配置
Listen:8080
ii.配置
NameVirtualHost192.168.17.128:8080
iii.配置/etc/httpd/conf.d/www.test01.conf,配置如下:
[root@Slaver conf.d]# cat <VirtualHost 192.168.17.128:80> DocumentRoot /var/www/html/test01 ServerName <Directory /var/www/html/test01>Options Indexes FollowSymLinksAllowOverride AllOrder Allow,DenyAllow from all</Directory></VirtualHost><VirtualHost 192.168.17.128:8080> DocumentRoot /var/www/html/test02 ServerName <Directory /var/www/html/test02>Options Indexes FollowSymLinksAllowOverride AllOrder Allow,DenyAllow from all</Directory></VirtualHost>[root@Slaver conf.d]# 5.只允许某个网段访问站点
适用场景:发布到外网的
配置如下:
[root@Slaver conf.d]# cat <VirtualHost 192.168.17.128:80> DocumentRoot /var/www/html/test01 ServerName ErrorLog /var/log/httpd/www.test01.err CustomLog /var/log/httpd/www.test01.access common <Directory /var/www/html/test01/administrator>Options Indexes FollowSymLinksAllowOverride AllOrder Allow,DenyAllow from 192.168.17.0/24 </Directory></VirtualHost>[root@Slaver conf.d]#
当不是通过这个网段进来的访问请求,会出现如下的提示错误:
6.只允许通过认证的用户访问站点
适用场景:当访问后台时,,通过提供用户名和密码进行认证,只有通过认证的用户才能访问后台。
这一次是一个告别,或者一个永远的告别,