一、安装mod_ssl,openssl
# yum install mod_ssl openssl
二、用OpenSSL生成自签名证书
如果是产品级的服务器上使用的证书,就需要从正规的证书颁发机构处申请。如果是个人站点或者测试用户的签名证书就可以使用OpenSSL生成自签名的证书。生成自签名证书必须拥有root权限。
生成证书私钥
# openssl genrsa -out ca.key 1024
生成证书
# openssl req -new -key ca.key -out ca.csr
生成自签名证书
# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
将证书文件移动到特定目录
# mv ca.crt /etc/pki/tls/certs
# mv ca.key /etc/pki/tls/private/ca.key
# mv ca.csr /etc/pki/tls/private/ca.csr
三、修改Apache SSL配置文件
修改Apache SSL 配置文件,将SSLCertificateFile,SSLCertificateKeyFile 改为实际路径:
# vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
退出并保存ssl.conf文件,然后重启apache
# /etc/init.d/httpd restart
此时在浏览器中输入https://server_ip/ 就可以看到CentOS默认的页面了。有些浏览器可能会报证书错误,点击“继续浏览”就可以了。
四、配置HTTPS类型的Apache虚拟主机
要添加https协议的虚拟主机,只要在httpd.conf文件的最后添加:
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory /var/www/vhosts/yoursite.com/httpsdocs>
AllowOverride All
</Directory>
DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
ServerName yoursite.com
</VirtualHost>
保存httpd.conf文件并重新启动apache
# /etc/init.d/httpd restart
就可以浏览你的HTTPS虚拟站点了。记得打开防火墙的443端口哟:
# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# /sbin/service iptables save
# iptables -L -v