弄好SSL证书之后就可以开始配置HTTPS服务了。这里我直接使用的阿里云的PHP环境镜像,测试环境如下:
Installing:
mod_ssl x86_64 1:2.4.6-80.el7.centos.1 updates 111 k
Updating for dependencies:
httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M
httpd-devel x86_64 2.4.6-80.el7.centos.1 updates 196 k
httpd-tools x86_64 2.4.6-80.el7.centos.1 updates 90 k
openssl x86_64 1:1.0.2k-12.el7 base 492 k
openssl-libs x86_64 1:1.0.2k-12.el7 base 1.2 M
Install 1 Package
Upgrade ( 5 Dependent packages)
Total download size: 4.8 M
Installed:
mod_ssl.x86_64 1:2.4.6-80.el7.centos.1
Dependency Updated:
httpd.x86_64 0:2.4.6-80.el7.centos.1 httpd-devel.x86_64 0:2.4.6-80.el7.centos.1 httpd-tools.x86_64 0:2.4.6-80.el7.centos.1
openssl.x86_64 1:1.0.2k-12.el7 openssl-libs.x86_64 1:1.0.2k-12.el7
Complete! //完成
安装成功后再次执行会显示版本信息:
[root@Ayase httpd]# rpm -qa | grep mod_ssl
mod_ssl-2.4.6-80.el7.centos.1.x86_64
###3.下载与上传证书
从阿里云下载证书后一共是四个文件
![这里写图片描述](https://img-blog.csdn.net/2018071417592376?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTc3MTA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
在Apache的安装目录(/etc/httpd)下创建cert目录,并将上面四个文件上传到该目录。
[root@Ayase ~]# mkdir /etc/httpd/cert
[root@Ayase ~]# cd /etc/httpd/cert/
使用Xshell上传文件可点击工具栏的新建文件传输按钮,弹出框后点击取消会跳转到另一个标签页,此时可将四个文件直接拖到黑窗口进行上传。
![这里写图片描述](https://img-blog.csdn.net/2018071418121357?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTc3MTA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
###4.配置SSL
首先编辑SSL配置文件,检查端口是否为443及前面是否有#号,LoadModule是指支持HTTP所需要的模块,如果没有LoadModule,可手动添加一行LoadModule ssl_module modules/mod_ssl.so
[root@Ayase ~]# vim /etc/httpd/conf.d/ssl.conf //编辑SSL配置文件,也可能是/etc/httpd/conf/extra/httpd-ssl.conf文件,与操作系统及安装方式有关)
LoadModule ssl_module modules/mod_ssl.so //支持SSL模块
Listen 443 https //http ssl默认端口为443,如果有#号需删除才可以使用
修改相应的证书信息(配置文件中这些条目并不是挨着的),可以在阿里云证书下载页面复制该信息然后将原有的注释掉。
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile /etc/httpd/cert/public.pem //你的对应证书文件路径
SSLCertificateKeyFile /etc/httpd/cert/111111111111111.key //你的对应证书文件路径(将文件名改成你自己的)
SSLCertificateChainFile /etc/httpd/cert/chain.pem //你的对应证书文件路径
![这里写图片描述](https://img-blog.csdn.net/2018071418243638?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTc3MTA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
修改并退出。
###5.配置防火墙
SSL服务必须在防火墙配置中开启443端口,HTTPS才可以对外连接。
[root@Ayase ~]# vim /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT //SSL端口
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
防火墙配置完成后,必须重新启动防火墙服务,配置才会生效。
```java
[root@Ayase ~]# service iptables restart
Redirecting to /bin/systemctl restart iptables.service
###6.重启apache服务
一切配置完成后,必须重新启动apache服务,Apache配置都会生效。
[root@Ayase httpd]# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
###7.测试Apache SSL正常运行
在浏览器中输入【https://域名】,如果出现如下图所示的页面,表示成功配置HTTPS服务。若是显示不安全且证书显示为invalid,但是点击【继续浏览些网站(不推荐)】仍可访问,则可能是证书配置错误,检查证书是否过期或路径是否有误。