Apache + SSL 加密
Apache + SSL 实现加密
1、环境
(1)Linux:linux系统
(2)Apache:Apache/2.4.6
2、安装Apache并添加支持SSL的模块
Apache安装过程中需要添加支持SSL的模块,可以通过安装openssl工具,使用yum工具自动编译安装SSL模块和openssl环境工具。
命令:yum install openssl mod_ssl
这个命令会自动安装下载和当前apache环境相匹配的openssl安装包,优点是可以自动解决依赖关系,方便快捷。但是需要系统中有yum工具而且需要联网,如果apache版本比较低,也会自动安装到一些版本比较低的openssl包,无法手动选择具体的openssl安装包。
安装之后,在Apache的httpd.conf文件中添加对SSL模块的引用:
IncludeOptional conf.d/*.conf
LoadModule ssl_module modules/mod_ssl.so
3、生成证书以及私钥文件
(1)服务器证书:server.crt
(2)CA证书:ca.crt
(3)私钥文件:server.key
注意:将生成的文件,放到Apache的conf文件夹下
4、配置加密
当Apache支持加密后,会在conf.d文件夹下出现ssl.conf文件,可以通过配置该文件来实现SSL机密。
<VirtualHost *:443>
......
SSLEngine on
SSLProxyEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
SSLCertificateChainFile /etc/httpd/conf/ca.crt
......
</VirtualHost>
5、验证证书是否安装成功
命令:openssl s_client -connect 127.0.0.1:443
6、打开外网443端口
(1)查看443端口是否打开,命令:netstat -an|grep 443
(2)打开443端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload