> 文档中心 > 申请ssl证书并绑定指定域名实现全站https访问

申请ssl证书并绑定指定域名实现全站https访问

首先申请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.soLoadModule ssl_module  modules/mod_ssl.soLoadModule socache_shmcb_module modules/mod_socache_shmcb.so

18 进入/usr/local/apache/conf/extra目录,编辑httpd-ssl.conf,该文件中不能有#,用之前需要删除下面的注释

AddType application/x-x509-ca-cert .crtAddType application/x-pkcs7-crl .crlSSLPassPhraseDialog  builtinSSLSessionCache  "shmcb:logs/ssl_scache(512000)"SSLSessionCacheTimeout  300SSLUseStapling OnSSLStaplingCache "shmcb:logs/ssl_stapling(512000)"SSLProtocol -All +TLSv1.2 +TLSv1.3SSLProxyProtocol -All +TLSv1.2 +TLSv1.3SSLCipherSuite HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128SSLProxyCipherSuite HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128SSLHonorCipherOrder onSSLCompression offMutex sysvsem defaultSSLStrictSNIVHostCheck 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 onRewriteCond %{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服务到这里就配置好了

如果有需要阿里云云服务器的同学可以看一看
各类产品,精心挑选的热门优惠云产品,总有一款适合你的业务形态。