前言: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中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

准备工作:

 四台虚拟机:一台DNS服务器(172.18.48.215)、一台访问主机(220)、一台http服务器(100)、一台CA证书主机(225)

 关闭防火墙,关闭SELinux

 开启相应的服务

 安装相应的应用程序包

一、CA

1.创建私钥证书

  (umask=066;openssl genrsa -out ./private/cakey.pem 2048)

2.创建自签CA证书

  openssl req  -new -x509 -key ./private/cakey.pem -days 3650 -out cacert.pem

3.创建http主机的私钥

  (umask=066; openssl genrsa -out key.pem 1024)

4.创建http主机的证书申请

  openssl req -new -key key.pem -out cert.pem

5.把证书申请交给CA,CA再颁发证书,再把证书文件传送给http主机

  scp  cert.csr   CA主机   (在http主机上执行)

  openssl  ca -in cert.csr -out text.crt -days 365

  scp  text.crt   http主机 (在CA主机上执行)

二、DNS

1.  vim    /etc/named.rfc1912.zones

 zone "a.com"  {

   type master;

   file "xdg.com.zone";

 }; 

 zone "b.net" {

   type master;

   file "b.net.zone";

 }; 

 zone "c.org" {

   type master;

   file "c.org.zone";

 }; 

2. vim  /var/named/a.com.zone (另外两个类似) 

$TTL 1D

@       IN SOA  acom   www.xdg.com.  (

      0       ; serial

      1D      ; refresh

      1H      ; retry

      1W      ; expire

      3H )     ; minimum

      NS      acom

acom    A      172.18.48.225

websrv   A      172.18.48.100

www     CNAME    websrv

ftp     A      172.18.48.100

三、http

在http的服务器上做相应的网站响应页面(在这里做的是虚拟主机响应页面)

1.在使用虚拟机之前要在/etc/httpd/conf/httpd.conf的文件中做配置

 # 在虚拟主机当中把虚拟主机的响应的域名给启动不然,无法用域名访问

 NameVirtualHost *:80 # 默认是关闭的(centos7上是不用)

2.这里我是单独的创建一个配置文件来管理我的虚拟主机的站点

 vim /etc/httpd/conf.d/vhost.conf #这里目录下,存放配置文件,且文件后缀必须为.conf

   <virtualhost *:80>

     servername www.a.com

     documentroot "/var/www/html/a/"

   </virtualhost>

   <virtualhost *:80>

servername www.b.net

     documentroot "/var/www/html/b/"

   </virtualhost>

   <virtualhost *:80>

servername www.c.org

documentroot "/var/www/html/c/"

   </virtualhost>

四、https

yum install mod_ssl  # 安装模块

vim /etc/httpd/conf.d/ssl.conf  # 编辑配置文件

  SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt 

    # *.a.com的证书,如果有多个不同的域名的话要另外创建,申请

  SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key  # 主机的私钥文件

  SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem  # ca的证书文件


  <VirtualHost _default_:443>  # 如果指定其它ip在这里修改

  servername www.a.com    # 所在访问的域名

  documentRoot "/var/www/html/a/"  # 所在的目录

五、测试

1.在访问主机上,DNS指向的是DNS服务器的主机

2.在测试的时候,有的服务的目录必须要有相应的权限才可以访问(会报403的错误信息)