192.168.1.145:CentOS 6.9 x86_64,Apache服务器
192.168.1.146:CentOS 7.4 x86_64,私建的CA服务器
备注:Apache和CA可以位于同一台服务器
2、192.168.1.145安装httpd服务,并启动:
# yum -y install httpd --> 版本:httpd-2.2.15
# cd /etc/httpd/conf
# cp httpd.conf httpd.conf.bak
# vim httpd.conf --> ServerName localhost:80
# service httpd start
# ss -tnl | grep :80
3、创建虚拟主机页面存放目录及测试页:
# mkdir -pv /web/vhosts/htdocs
# cd /web/vhosts/htdocs
# vim index.html --> <h3>Index Page</h3>
# vim test.html --> <h3>Test Page</h3>
4、创建基于主机名的虚拟主机:
# vim /etc/httpd/conf/httpd.conf,末尾新增如下代码:
# service httpd reload
5、以管理员权限运行notepad,修改本地Windows 10的C:\Windows\System32\drivers\etc\hosts文件,末尾新增代码:192.168.1.145 web.vhosts.com,保存修改后访问测试页
6、192.168.1.146创建私有CA:
(1)安装相关软件包:# yum -y install openssl openssh-clients
备注:OpenSSL的配置文件是/etc/pki/tls/openssl.cnf,此处无需修改,使用默认配置即可
(2)创建保存证书信息的数据库文件:# touch /etc/pki/CA/index.txt
(3)创建保存证书序列号的文件:# echo 01 > /etc/pki/CA/serial
(4)生成私钥cakey.pem:# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
备注:genrsa子命令常用选项
genrsa:用于生成RSA密钥对的OpenSSL子命令
-out cakey.pem:私钥保存位置
2048:密钥长度,也可以使用1024或4096
更多genrsa子命令选项可查看:# man genrsa
(5)生成CA证书cacert.pem:
# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
其中ca.keyso.com为证书颁发者
备注:req子命令常用选项
req:用于证书签署请求和证书生成的OpenSSL子命令
-new:生成新证书签署请求
-x509:专用于CA生成自签证书
-key cakey.pem:生成CA证书请求时用到的私钥
-days 7300:证书的有效期限为20年
-out cacert.pem:证书的保��路径
更多req子命令选项可查看:# man req
7、192.168.1.145生成证书签署请求文件并发送至192.168.1.146:
(1)安装相关软件包:# yum -y install openssh-clients
(2)创建用于存放密钥的目录:# mkdir -pv /etc/httpd/ssl
(3)生成私钥web-vhosts-com.key:# (umask 077; openssl genrsa -out /etc/httpd/ssl/web-vhosts-com.key 2048)