配置httpd支持https
1、首先为192.168.108.159创建私有CA
#cd /etc/pki/CA
# (umask 077;openssl genrsa -out private/cakey.pem 2048)
#ls private/
#touch index.txt
#echo 01 > serial
2、在服务器上创建自签证书
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300
3、在web服务器上生成证书签署请求,在192.168.108.160虚拟机上
#cd /etc/httpd
#mkdir ssl
#cd ssl/
# (umask 077;openssl genrsa -out httpd.key 1024)//生成密钥
# openssl req -new -key httpd.key -out httpd.csr //生成证书签署请求
#scp httpd.csr root@192.168.108.159:/tmp/ //把httpd.csr放到服务器192.168.108.159的tmp目录下
4、在服务器上为wei服务器CA签证
#cd /etc/pki/CA
#openssl ca -in /tmp/httpd.csr -out certs/web1.magedu.com.crt -days 356
#ls newcerts/ 在这个目录下有01.pem
#ls certs/
#scp certs/web1.magedu.com.crt root@192.168.108.160:/etc/httpd/ssl/
5、接下来开始配置httpd服务可以支持https
#httpd -M | grep ssl //查看160主机即httpd服务器是否支持mod_ssl
#yum install mod_ssl //如果不存在就安装
#rpm -ql mod_ssl
/etc/httpd/conf.d/ssl.conf //主配置文件
/usr/lib64/httpd/modules/mod_ssl.so
/var/cache/mod_ssl
/var/cache/mod_ssl/scache.dir
/var/cache/mod_ssl/scache.pag
/var/cache/mod_ssl/scache.sem
#cd /etc/httpd/conf.d/
#cp ssl.conf{,.bak}//在修改配置文件之前应该先做备份
#vim /etc/httpd/conf.d/ssl.conf
修改<VirtualHost _default_:443>为<VirtualHost *:443>
DocumentRoot "/var/www/html"//需要开启,并对其做响应的修改,比如/vhosts/web1/htdocs
ServerName www.example.com:443// 服务器名字为web1.magedu.com
SSLEngine on这一项一定要开启
修改SSLCertificateFile /etc/pki/tls/certs/localhost.crt为SSLCertificateFile /etc/httpd/ssl/web1.magedu.com.crt//这个文件是当前httpd服务拿来给别的客户机验证的证书文件
修改SSLCertificateKeyFile /etc/pki/tls/private/localhost.key与上面匹配的私钥文件SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
不应该验证客户端证书,因为客户端大多都没有证书
#ss -tnl //查看是否监听了443端口
测试基于https访问相应的主机;
# openssl s_client [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]
#openssl s_client -connect 192.168.108.160:443 -CAfile /etc/pki/CA/cacert.pem
GET / HTTP/1.1
Host:web1.magedu.com回车两次,就可以看到请求的页面