示例演示:   两台主机均为CentOS 7系统主机

            172.18.253.133  扮演CA角色    

            172.18.253.132  扮演服务器角色



   1、

       a) 172.18.253.133    创建私有CA

            # cd /etc/pki/CA

            # (umask 077;openssl genrsa -out private/cakey.pem 2048)  //生成一个私钥

            # ll private/

            total 4

            -rw------- 1 root root 1679 May 21 10:09 cakey.pem

            # openssl req -new -x509 -key private/cakey.pem -out cacert.pem  //生成自己的自签证书


         wKiom1dAbnfi0j8sAABW0Jr9TbE291.jpg


       wKioL1dAb6Gh9AKVAABAdYsbnRE336.jpg


             

           # touch serial index.txt

           # echo 01 >serial


      b) 172.18.253.132    创建证书签署请求

           # cd /etc/httpd

           # ls

           conf  conf.d  conf.modules.d  logs  modules  run

           # mkdir ssl  // 存放证书文件用

           # cd ssl

           # (umask 077;openssl genrsa -out httpd.key 1024)

           # openssl req -new -key httpd.key -out httpd.csr  // 创建证书签署请求



          wKiom1dAbwmBZSQZAAB4o8D303g901.jpg

 

           # ls

           httpd.csr  httpd.key

                

                

           # scp httpd.csr root@172.18.253.133:/tmp/

        

      c)  172.18.253.133   签署证书

           # openssl ca -in /tmp/httpd.csr -out certs/httpd.crt


    wKiom1dAb2GDW8szAAD8UdS4GiE258.jpg


         //  输入2次 y 确认


                                                                      # scp certs/httpd.crt root@172.18.253.132:/etc/httpd/ssl/  


  2、  172.18.253.132   配置httpd支持使用ssl,及使用的证书

                

          # ls

         httpd.crt  httpd.csr  httpd.key  

          # yum install mod_ssl -y

        wKioL1dAcOXTO3LWAAAudIyXo1o149.jpg


        # cd /etc/httpd/conf.d

          # cp ssl.conf{,.backup}

          # vim ssl.conf

                    

             DocumentRoot "/var/www/html"   //启用起来

             ServerName www.magedu.com    //修改主机名与证书一致

             SSLEngine on       //SSL 引擎启用,必须为on

             SSLCertificateFile /etc/httpd/ssl/httpd.crt   //服务器证书地址

             SSLCertificateKeyFile /etc/httpd/ssl/httpd.key  //私钥文件

                                   

          # httpd -t   //检测语法错误

             注意: 如果检测语法时,报如下错误  

                               

 wKiom1dAcGKypzJdAAA7iS8lRJ4993.jpg

            原因:主机名和IP不匹配,http服务器去尝试反解本机的IP地址,反解出来的主机名和本机主机名不一致就发出如下警告。

            解决办法:httpd程序主配置文件中增加一个主机名

                                    

          # vim /etc/httpd/conf/httpd.conf

             ServerName www.magedu.com   //添加一个主机名或IP



        wKioL1dAcZHQXFS8AAAdcF92iYc608.jpg


        # httpd -t  //继续监测语法

        wKioL1dAcdLw2kkDAAAVowObVbc320.jpg

       # systemctl restart httpd.service

        wKiom1dAcSGgFehJAAA89_YixW8421.jpg



 3、 测试基于https访问相应的主机;

                

     1)   这里以CA主机用openssl命令为例进行验证:

         # openssl s_client -connect www.magedu.com:443 

           getaddrinfo: Temporary failure in name resolution

           connect:errno=111   // 此时主机无法解析www.magedu.com主机,需要添加

         # vim /etc/hosts

           172.18.253.132 www.magedu.com www   //添加

         # openssl s_client -connect www.magedu.com:443 



wKioL1dAcnSiQ9vbAAC4p1wH2EA131.png


     # openssl s_client -connect www.magedu.com:443 -CAfile /etc/pki/CA/cacert.pem     //因为是CA主机,所以直接导入CA证书即可。 


 wKioL1dAcrPyot8eAAB0sQqoKio411.png



 2)也可以用浏览器进行验证

                

            首先在CA服务器上添加一个测试页

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

            <h1> Test https </h1>  

             

            浏览器中访问 http://172.18.253.132/index.html


          wKioL1dAcvPSXCAmAAAyInZ6Yyw460.jpg


    此时因为浏览器没有导入CA证书,所以基于https的访问将无法进行,需要浏览器中导入CA证书文件(把虚拟主机中/etc/pki/CA/cacert.pem文件复制到物理主机上进行导入)    

           方法: 谷歌浏览器--->设置--->高级设置--->HTTPS/SSL管理证书-->受信任的证书颁发机构-->导入cacert.pem即可。

      浏览器中继续访问 https://172.18.253.132/index.html  



wKiom1dAclKy7wXvAAB8ipFNOa4548.jpg

此时可以点击高级中的继续访问或者本地主机添加www.magedu.com主机名




win10系统修改host文件介绍:


  1、打开“运行”对话框(可以直接使用Win+R组合快捷键,快速打开),然后键入hosts文件路径:C:\WINDOWS\system32\drivers\etc 完成后,点击下方的“确定”打开,如图。

wKiom1dAdDmwEm0zAACmh-r3Yms778.jpg


  2、找到spacer.gifhosts文件所在位置后,不要直接去修改该文件,不然会出现权限不足,无法修改的问题。具体方法是,在hosts文件上点击鼠标右键,在弹出的选项中,点击打开“属性”,如图。

wKioL1dAdYnD_fvjAAFNNUlLQ4c273.jpg


  3、打开hosts文件属性后,切换到“安全”选项卡,然后点击选中需要更改的当前用户名,然后点击下方的“编辑”在弹出的编辑权限操作界面,先点击选中需要更高权限的账户名称,比如这里需要给名称为“Users(HOSTNAME\Users)”的user用户分配修改hosts文件权限,选中用户后,勾选上下方的“修改”和“写入”权限,完成后,点击右下角的“应用”就可以了,如图。


wKiom1dAc3ugrK1vAACK8nyhdEA638.jpg

点击应用后,会弹出一个“Windows安全”提示框,大意是修改系统文件夹权限后,可能会降低系统安全,这里我们无需理会,直接点击“是”即可,如图。

wKioL1dAdeDwY3YyAACA680y3ko650.jpg


4、给当前用户设置了写入和修改hosts文件权限后,接下来就可以轻松修改Win10 hosts文件了。具体方法是,在hosts文件上点击鼠标右键,在弹出的菜单中,点击“打开方式”,如图。


wKiom1dAdSLTK-CUAAD2WecM9dE910.jpg


5、然后选择使用记事本打开修改。比如这里我们要增加一个指定IP访问www.magedu.com,修改完成后,点击“保存”就可以了,这时就不会出现权限问题了,如下图。

wKiom1dAdb6DUO9MAAAlxTmxorY241.jpg


6、最后我们通过ping来测试一下效果,如下图。

wKioL1dAdGuDdjQZAAAfpuEkdPI987.png




然后访问https://www.magedu.com/index.html即可打开页面,显示相应内容。


wKioL1dAdGvwwLO2AADARS7uF04224.png