示例演示: 两台主机均为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 //生成自己的自签证书
# 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 // 创建证书签署请求
# 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
// 输入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
# 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 //检测语法错误
注意: 如果检测语法时,报如下错误
原因:主机名和IP不匹配,http服务器去尝试反解本机的IP地址,反解出来的主机名和本机主机名不一致就发出如下警告。
解决办法:httpd程序主配置文件中增加一个主机名
# vim /etc/httpd/conf/httpd.conf
ServerName www.magedu.com //添加一个主机名或IP
# httpd -t //继续监测语法
# systemctl restart httpd.service
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
# openssl s_client -connect www.magedu.com:443 -CAfile /etc/pki/CA/cacert.pem //因为是CA主机,所以直接导入CA证书即可。
2)也可以用浏览器进行验证
首先在CA服务器上添加一个测试页
# vim /var/www/html/index.html
<h1> Test https </h1>
浏览器中访问 http://172.18.253.132/index.html
此时因为浏览器没有导入CA证书,所以基于https的访问将无法进行,需要浏览器中导入CA证书文件(把虚拟主机中/etc/pki/CA/cacert.pem文件复制到物理主机上进行导入)
方法: 谷歌浏览器--->设置--->高级设置--->HTTPS/SSL管理证书-->受信任的证书颁发机构-->导入cacert.pem即可。
浏览器中继续访问 https://172.18.253.132/index.html
此时可以点击高级中的继续访问或者本地主机添加www.magedu.com主机名
win10系统修改host文件介绍:
1、打开“运行”对话框(可以直接使用Win+R组合快捷键,快速打开),然后键入hosts文件路径:C:\WINDOWS\system32\drivers\etc 完成后,点击下方的“确定”打开,如图。
2、找到hosts文件所在位置后,不要直接去修改该文件,不然会出现权限不足,无法修改的问题。具体方法是,在hosts文件上点击鼠标右键,在弹出的选项中,点击打开“属性”,如图。
3、打开hosts文件属性后,切换到“安全”选项卡,然后点击选中需要更改的当前用户名,然后点击下方的“编辑”在弹出的编辑权限操作界面,先点击选中需要更高权限的账户名称,比如这里需要给名称为“Users(HOSTNAME\Users)”的user用户分配修改hosts文件权限,选中用户后,勾选上下方的“修改”和“写入”权限,完成后,点击右下角的“应用”就可以了,如图。
点击应用后,会弹出一个“Windows安全”提示框,大意是修改系统文件夹权限后,可能会降低系统安全,这里我们无需理会,直接点击“是”即可,如图。
4、给当前用户设置了写入和修改hosts文件权限后,接下来就可以轻松修改Win10 hosts文件了。具体方法是,在hosts文件上点击鼠标右键,在弹出的菜单中,点击“打开方式”,如图。
5、然后选择使用记事本打开修改。比如这里我们要增加一个指定IP访问www.magedu.com,修改完成后,点击“保存”就可以了,这时就不会出现权限问题了,如下图。
6、最后我们通过ping来测试一下效果,如下图。
然后访问https://www.magedu.com/index.html即可打开页面,显示相应内容。
原文地址:http://1832924799.blog.51cto.com/11226449/1775777