首先申请ssl证书,这里使用的是阿里云的,
1 搜索ssl,点击ssl证书(应用安全)
2 点击立即购买
3 选择更多售卖规格
4 选择DV单域名证书(一个自然年可以免费申请20个单域名ssl证书)
5 点击购买
6 登录管理控制台
7 找到 SSL - 免费证书 – 创建证书
8 点击申请证书
9 填写绑定域名的基本信息
10 根据要求配置 DNS域名解析,最后进行验证
11 配置域名解析
12 点击验证并提交审核
13 点击下载证书
14 选择相应服务的证书,这里选择下载apache的证书
15 将下载的zip包在本地压缩后,会产生三个文件
16 将上面的三个文件上传到apache任意目录下
可以创建一个目录,这里我直接放在/usr/local/apache/conf/ssl目录下
通过MobaXterm工具将文件上传到上面的目录下
ls /usr/local/apache/conf/ssl
17 进入apache的conf目录,编辑httpd.conf,解开下面三个代码的注释
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
18 进入/usr/local/apache/conf/extra目录,编辑httpd-ssl.conf,该文件中不能有#,用之前需要删除下面的注释
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(512000)"
SSLProtocol -All +TLSv1.2 +TLSv1.3
SSLProxyProtocol -All +TLSv1.2 +TLSv1.3
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128
SSLProxyCipherSuite HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128
SSLHonorCipherOrder on
SSLCompression off
Mutex sysvsem default
SSLStrictSNIVHostCheck on
# 下面这些是新增的内容
Listen 443 # 监听443端口
<VirtualHost *:443>
ServerName www.letitgo.club # 需要绑定的域名
DocumentRoot "/data/www/default/" # 网站的根目录
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile "conf/ssl/7318688_www.letitgo.club_public.crt" # 之前上传的ssl证书三个文件中的公钥文件
SSLCertificateKeyFile "conf/ssl/7318688_www.letitgo.club.key" # 之前上传的ssl证书三个文件中的私钥文件
SSLCertificateChainFile "conf/ssl/7318688_www.letitgo.club_chain.crt" # 之前上传的ssl证书三个文件中的链文件
<Directory "/data/www/defalut/"> # 网站根目录
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
19 重启apache服务
# 进入apache的bin目录
cd /usr/local/apache/bin
# 停止apache服务
./apachectl stop
# 启动apache服务
./apachectl start
20 在浏览器验证绑定的域名是否可以进行https的访问,可以看到已经可以正常访问了
https://www.letitgo.club
21 编辑wordpress的wp-config.php文件,加上登录和后台强制使用https的设置
vi /data/www/default/wp-config.php
======> 在文件中加上下面两个
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
22 查看wordpress后台–设置–常规
发现wordpress地址和站点地址都加上了https
23 进入mysql,wordpress数据库,执行下面的sql语句,将http的地址换成https的
use wordpress;
update wp_posts set post_content = replace(post_content, 'http://www.letitgo.club','https://www.letitgo.club');
23 但是现在发现用http协议依然可以访问这个域名,现在需要实现指定域名的http服务跳转到https,为此需要重写写rewrite配置,在网站根目录创建文件 .htaccess ,填充以内内容
这里是/data/www/default 目录下 创建 .htaccess文件
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{SERVER_NAME} ^letitgo.club|www.letitgo.club$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
24 重启httpd服务
service httpd restart
25 尝试访问letitgo.club 或者 http://www.letitgo.club 可以看到页面上自动跳转到了https://www.letitgo.club
26 到这里 申请ssl证书及域名绑定ssl 开启https服务,http跳转到https服务到这里就配置好了