配置证书,首先申请获取到ssl证书:申请过程就不多讲了
由于是Apache的服务,所以选着Apache的下载,最后解压得到这三个文件;
把这三个文件拷贝到 /etc/httpd/conf/ssl 文件夹下,如果没有ssl这个文件夹,就新建 mkdir /etc/httpd/conf/ssl
准备好了,想让马儿跑又不给马吃草,怎么可以呢?所以,干货来了
首先要确定我们的apache服务器可以正常访问,然后就要装mod_ssl模块提供TLS/SSL功能(https是通过mod_ssl实现的):
安装mod_ssl
# yum install -y mod_ssl
安装完成后:可以在 /etc/httpd/conf.d 文件夹下看到一个 ssl.conf 的文件
在终端用:cd 切换 ; ll 查看 ; vim ssl.conf
有工具直接拷贝出来,修改后再换掉;
编辑ssl.conf文件,找到
#DocumentRoot "/var/www/html/"
#ServerName www.example.com:443
把这两个前面的#号去掉
DocumentRoot "/你的项目文件夹"
ServerName 你的域名:443
找到 这三处
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
将前两个注释掉,然后将这三个重新拷贝一份 把地址一一对应换成存放证书的路径;
1、搜索 SSLProtocol
去掉 SSLProtocol all -SSLv2 -SSLv3 这行的注释
或在 SSLEngine on 下面配置:
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
2、搜索 SSLHonor
去掉 SSLHonorCipherOrder on 这行的注释
SSLCipherSuite 配置:
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE
保存:删掉服务器原来没修改的ssl.conf,,将修改后的ssl.conf 拷贝进去
终端服务修改的就不需要这步了
最后重启Apache服务器:
我的是这样的:Apache 服务管理命令
启动:systemctl start httpd
关闭:systemctl stop httpd
# systemctl restart httpd
以上是正常的操作;
踩坑记录一下:
Apache启动失败,报错:(你可能遇到这个)
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
没关系:你看一下报错记录:systemctl status httpd
例如:我的是SSLCertificateFile写错了,写成SSLCertficateFile 这个,写少了一个 i;还是复制粘贴一下好啊,手贱了。
可能每个人的的报错都不一样,但总的来说,一般都是小问题,大麻烦;
可关键是在不知道的情况下,就是大问题,难解决了状况;
好了,就到这了,如果有什么不一样的看法,欢迎一起讨论!