虚拟主机

    虚拟主机,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的服务(支持WWW、FTP/E-mail等)功能。一台服务器上的不同虚拟主机是各自独立的,并由用户自行管理。

 

    虚拟主机配置

    虚拟主机总共有三种配置方式

        1.基于端口

            需要开启多个listen端口

        2.基于IP

            需要配置多个ip,填写在<VirtualHost *:80>中,其中*号代表任意IP

        3.基于域名

 

    下面主要讲解基于域名的配置方法,这个会了,上面两个就都会了,很简单。

    1.首先需要把主服务器站点的根路径注释掉,因为要配置很多主机,网站的目录可以在不同的地方。

    编辑配置文件:

#/etc/httpd/conf/httpd.conf

        wKiom1Pwnx7zad82AACdi22wI_s332.jpg

 

    2.虚拟主机配置部分

    编辑配置文件:/etc/httpd/conf/httpd.conf 在下面添加以下内容

        wKiom1Pwn17CV1uCAAHGL__w-fM944.jpg

        详解:

NameVirtualHost *:80         //为一个基于域名的虚拟主机制定一个IP地址和端口
<VirtualHost *:80>           //包含作用于指定主机名或IP地址的指令
     ServerName www.ky.com   //服务器用于辨识自己的主机名
     DocumentRoot "/var/www/html/ky/"  //指定数据存放的目录
     ErrorLog "/var/log/httpd/ky.err"  //存放错误日志的位置
     CustomLog "/var/log/httpd/ky.access" common //存放访问日志的位置
</VirtualHost>

 

    3.创建目录和文件

        上面的内容填完之后,下面就开始对应着路径创建对应的文件了

#mkdir /var/www/html/ky             //创建目录ky
#mkdir /var/www/html/ky2            //创建目录ky2
#touch /var/log/httpd/ky.err        //创建对应网站ky目录的错误日志

#touch /var/log/httpd/ky.access     //创建对应网站ky目录的访问日志
#touch /var/log/httpd/ky2.err       //创建对应网站ky2目录的错误日志

#touch /var/log/httpd/ky2.access    //创建对应网站ky2目录的访问日志

 

    4.DNS解析,我这里DNS配置好了,来看一下

    主配置文件添加的区域

        wKiom1PwoTjxpLxYAACltyQrjBw674.jpg

        ky.com.zone库文件

        wKioL1PwopHDDv9VAADULsSaKsI944.jpg

        ky2.com.zone

        wKioL1PwotHDZ-hfAADBZyV18MY140.jpg

 

    5.在客户端上测试

        wKiom1PwofuQZYb1AACrnqGNfrY812.jpg

        wKiom1Pwoh6CyPb8AACdQM5xF3I776.jpg

        这样就完成基于不同网站(目录),相同端口,相同IP的网站访问。

      

    HTTPS:  

    HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。

    配置httpd工作于https:

    1.安装mod_ssl模块

    # yum install mod_ssl

    生成私钥,自颁证书,声明自己是ca服务器

        wKioL1Pwqi-z2-rOAAHRfDAmHVg612.jpg

 

    2.为服务端生成私钥,并为其提供证书

# mkdir /etc/httpd/ssl && cd /etc/httpd/ssl
# (umask 077; openssl genrsa -out httpd.key 1024)
# openssl req -new -key httpd.key -out httpd.csr
签署后的证书为:/etc/httpd/ssl/httpd.crt

    

    3.配置使用https的虚拟主机

    修改默认目录访问自己网站的目录,添加服务器名称

        wKioL1Pwq9HCB5-0AABoduJ-tbo277.jpg

        启用证书,启用密钥

        wKiom1PwqyDy9eQEAAEko9D0Brc220.jpg

        

    4.验证

        wKioL1PwrI3CPAZFAAED7efgt2I427.jpg

        将证书导入客户端,这里要导入CA自颁的证书cacert.pem,改名为cacert.crt,这里不是导入给

    HTTP签发的证书,因为,这是我们自己建立的CA服务器,网上根本就没有,无法验证,这里为了

    实现目的,就直接导入CA的自颁证书了。

        wKiom1Pwq7Dz8qP0AABGt2IZ5aY552.jpg

        wKioL1PwrOSBuGUhAAClK7guRvk799.jpg

        wKiom1Pwq-qjj0HIAACEqoenKZ8811.jpg

        这样就成功了,就可以看见,证书有效,并认证成功,实现了安全访问,这种大多用于交易性网

    站上,这里只是基本的实现过程。