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回車兩次,就可以看到請求的頁面