随着网站安全和看似需要正规化的需要,尤其是一些用户交互型网站都开始陆续添加SSL安全证书,本人也开始尝试学习部署LAMP(Apache)网站环境部署SSL证书,让我们网址也支持HTTPS加密方式。
第一、Apache部署SSL证书的准备工作
因为在这篇文章的测试学习中,我使用的是基于Centos7.2部署的Apache网站环境,如果我们有使用其他一键包或者手工源安装部署环境的,需要注意一些文件的路径,有些还是有区别的。
A – 先尝试添加一个站点:/var/www/html/usnn 虚拟主机目录
B – 证书我采用的是免费沃通数字证书SSL,从对应的For Apache.zip包中解压出来3个文件。
解压出来的3个文件我们回头要用到的。可以先上传到VPS环境目录中,比如/etc/pki/tls/certs/(这是网站默认证书目录),/etc/pki/tls/private/(这是默认的秘钥key目录),前缀改成我们要使用的网址,方便记忆及以后变更。
C – 确保环境已经部署SSL模块
[root@VM_0_7_centos ~]# yum install openssl mod_ssl
这样我们部署完毕之后就要执行重要的下步骤了。
第二、检查和启动SSL模块,shared表示启动成功
[root@VM_0_7_centos ~]# httpd -M | grep mpm [Wed Sep 26 09:20:54.723392 2018] [so:warn] [pid 7125] AH01574: module rewrite_module is already loaded, skipping AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message mpm_prefork_module (shared) [root@VM_0_7_centos ~]# httpd -M | grep ssl [Wed Sep 26 09:24:15.134585 2018] [so:warn] [pid 7352] AH01574: module rewrite_module is already loaded, skipping AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message ssl_module (shared)
第三、编辑部署SSL
在/etc/httpd/conf.d/ssl.conf文件中,编辑<VirtualHost _default_:443>位置下面的几行
# General setup for the virtual host, inherited from global configuration DocumentRoot "/var/www/html/usnn" #取消前面的注释符#,改成自己的虚拟主机目录 ServerName www.usnn.cn:443 #取消前面的注释符#,改成自己的虚拟主机域名 SSLCertificateFile /etc/pki/tls/certs/www.usnn.cn.crt #证书保存目录 SSLCertificateKeyFile /etc/pki/tls/private/www.usnn.cn.key #秘钥保存目录
主要的就是上面几行,修改成我们开始准备新添的站点路径以及我们上传到网站的证书文件。修改后就上传到对应位置替换。
第四、重启生效
[root@VM_0_7_centos ~]# systemctl restart httpd.service
如果开启防火墙,请打开443端口。firewall-cmd –zone=public –add-port=443/tcp –permanent