【Apache学习】httpd2.4 版本下 https配置

时间:2022-06-28 12:57:52

httpd2.4 编译安装请参考:http://adelazhu.blog.51cto.com/9455045/1682264

其中httpd2.4预编译时已安装了--enable-ssl模块,所以不需要像httpd2.2 单独安装mod_ssl。

./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

配置过程

(a) 建立私有CA
 在CA服务器上配置

[root@www tmp]# cd /etc/pki/CA[root@www CA]# (umask 077; openssl genrsa -out private/cakey.pem  2048)[root@www CA]# openssl req -new -x509 -key private/cakey.pem  -out cacert.pem -days 3650[root@www CA]# echo 01 > serial[root@www CA]# touch index.txt

(b) 为服务器生成证书
 在httpd服务器上配置

[root@adelababy httpd24]# cd /etc/httpd24/[root@adelababy httpd24]# mkdir certs/[root@adelababy httpd24]# cd certs/[root@www certs]# (umask 077; openssl genrsa -out httpd.key 2048)[root@www certs]# openssl  req  -new -key httpd.key  -out httpd.csr  -days 350

 将生成的httpd.csr发送给ca服务器

[root@www certs]# scp httpd.csr root@192.168.56.168:/tmp

 在CA服务器上配置

[root@www certs]# cd /tmp/[root@www tmp]# openssl  ca  -in  httpd.csr  -out  httpd.crt  -days  360将生成的  httpd.crt 发回httpd服务器scp httpd.crt root@192.168.56.169:/etc/httpd24/certs/
(c) 配置httpd使用数字证书

         注意:ssl会话只能基于IP创建,这意味着如果服务器仅有一个IP,那么仅为一个虚拟主机提供https服务;

修改httpd.conf文件

vim  /etc/httpd24/httpd.conf删除这两行前的#LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.conf

修改ssl配置文件/etc/httpd24/extra/httpd-ssl.conf,修改下面四行。

DocumentRoot "/web/vhosts/www2"ServerName www2.stux.com:443SSLEngine onSSLCertificateFile "/etc/httpd24/certs/httpd.crt"SSLCertificateKeyFile "/etc/httpd24/certs/httpd.key"
重启httpd服务
[root@adelababy httpd24]# service httpd24 restart


Done!

本文出自 “Adela” 博客,请务必保留此出处http://adelazhu.blog.51cto.com/9455045/1682732