Linux下为Apache服务器添加SSL证书 & 腾讯云CDN、WordPress中HTTPS相关配置

拥有SSL证书后,如何安装到Apache服务器?如果网站使用了CDN又如何配置?如果网站是WordPress网站?这篇文章提供了以上问题的解决方案。

为了让本网站加上一个小锁,探索了好久,终于弄成功了。先展示未安装证书之前:

现描述配置步骤如下。

获取SSL免费证书

在云服务商上申请免费证书。证书有效期为1年。现以阿里云免费证书云盾证书服务 (aliyun.com)购买示例:

在控制台下载证书:

选择Apache服务器类型的证书进行下载:

得到一个压缩文件,文件包含以下内容:

  • 证书文件:以.crt为后缀或文件类型。
  • 证书链文件:以.crt为后缀或文件类型。
  • 密钥文件:以.key为后缀或文件类型。

文档链接:在Apache服务器上安装SSL证书 (aliyun.com)

安装证书到Apache

接下来请根据这篇指引进行配置安装:在Apache服务器上安装SSL证书 (aliyun.com)

在实际操作中,我和指引中不同的是,mod_ssl.so不需要在httpd.conf里进行引用。阿里云文档里的http-ssl.conf,实际上就是/etc/httpd/conf.d/ssl.conf(安装好mod_ssl.so模块后,ssl.conf文件就会产生)。

通过FTP传输工具把证书上传到指定位置,在配置时就用这个位置(右图)。

httpd.conf
ssl.conf

弄好后记得重启Apache服务器:

apachectl restart

服务器的安全组记得开放443端口:

CDN中的HTTPS设置

我一开始遇到的问题是这个:Apache安装好证书后还是无法生效。Chrome浏览器提醒的是证书不匹配,一看详情,他竟然在匹配腾讯云的cdn的证书……所以我认为CDN环节中还需要相应设置。(和我遇到同样的问题:https://cloud.tencent.com/developer/ask/21141

解决方法如下所述。

如果你的网站开启了CDN,比如我使用的是腾讯云的CDN,那么需要在腾讯云控制台中进行设置:

按照指引上传证书进行托管:

上传成功后部署即可。

参考文档:SSL 证书 安装部署 SSL 证书到内容分发网络(CDN)指引 – 证书安装 – 文档中心 – 腾讯云 (tencent.com)

WordPress使用HTTPS

到这里,使用HTTPS访问时,浏览器还是会提醒该站点“并非完全安全”。

WordPress设置中修改地址:

http修改为https

如果修改不成功(比如页面不安全什么的),可以通过数据库修改:

登录服务器,修改文件:

1,修改的路径:\wp-includes\functions.php文件
2,打开修改functions.php文件,找到代码 require( ABSPATH . WPINC . ‘/option.php’ ); 在下方添加:

add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); 
function agnostic_script_loader_src($src, $handle) {
  return preg_replace('/^(http|https):/', '', $src); 
} 
add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2); 
function agnostic_style_loader_src($src, $handle) { 
  return preg_replace('/^(http|https):/', '', $src); 
}

再修改配置文件:

wordpress网站根目录中找到,wp-config.php文件,

在文件开头位置中,添加如下代码:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

成果

可以使用检查工具检查:SSL Checker (decoder.link)

Edge
Chrome

后续

强制跳转HTTPS

在腾讯云域名控制台开启这个:

其他链接

参考:【亲测】wordpress如何开启全站https-真实有效_前端小罗的博客-CSDN博客_wordpress设置https

我走过的弯路:

0 0 投票数
文章评分
订阅评论
提醒

1 评论
最多投票
最新 最旧
内联反馈
查看所有评论
1
0
希望看到您的想法,请您发表评论x