技术小白一枚, 欢迎大佬指教。
一、环境准备
1、安装mode_ssl.so模块(启用SSL功能)。
yum install -y mod_ssl
2、开启443端口。
#查看已开放的端口
firewall-cmd --list-ports
#开启443端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
#重启防火墙
systemctl restart firewalld
二、配置SSL
1、Apache证书的3个文件。
证书文件:以.crt为后缀或文件类型。(也可能是以.cer结尾)
证书链文件:以.crt为后缀或文件类型。
密钥文件:以.key为后缀或文件类型。
2、在/etc/httpd/目录下新建cert文件夹,将解压的Apache证书、 证书链文件和密钥文件拷贝到cert目录中。
mkdir /etc/httpd/cert/
3、修改httpd-ssl.conf配置文件,寻找<VirtualHost * :443>参数。
(注:有些系统中,http-ssl.conf文件也可能存放在conf.d/ssl.conf目录中)
vi etc/httpd/conf.d/ssl.conf
-------------------------------分割线-----------------------------------------
<VirtualHost *:443>
ServerName 域名(例如:www.test.com)。
DocumentRoot "/var/www/html"
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile cert/证书文件名(.crt/cer)
SSLCertificateKeyFile cert/密钥文件名(.key)
SSLCertificateChainFile cert/证书链文件名(_chain.crt/_ca.crt)
</VirtualHost>
4、(可选)修改httpd.conf文件,设置http自动跳转https。寻找<VirtualHost * :80>参数,如果没有就在文档最后的位置添加即可。
vi /etc/httpd/conf/httpd.conf
-----------------------分割线---------------------------
<VirtualHost *:80>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
</VirtualHost>
5、重启http服务
systemctl restart httpd
三、验证
成功访问https://证书绑定的域名,至此配置完成。
有些指导文档会在配置SSL时,修改httpd.conf配置文件。但我修改后会无法启动http服务,所以我在这个文档里并没有把修改httpd.conf的内容写上。
如果SSL证书是在云服务器提供商处申请的,还是建议去看官方的指导文档会更为详细和准确啦。本人记性不太好,长时间不配置就忘的差不多了,所以写了这个简单的文档,如果可以帮助到别人也是很开心啦。