配置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回车两次,就可以看到请求的页面

 

posted @ 2018-06-05 22:55  Study~Column  阅读(7049)  评论(0编辑  收藏  举报