网站配置免费证书

申请免费SSL证书(提供泛域名支持)

申请流程:
(1)申请CSR文件
(2)申请证书
(3)阿里云虚机配置。CDN
(4)域名解析配置
(5)wordpress的配置

1. CSR文件。

域名邮箱或者whois邮箱(不能带whois保护),同时域名邮箱也有相应的要求
(必须是相应的管理类邮箱 admin@xxx.com/webmaster@xxx.com),可以使用QQ的域名邮箱
CSR证书比较简单,自行生成或者在线生成,推荐使用在线生成:直接贴地址:
https://www.chinassl.net/ssltools/generator-csr.html
提醒:记得申请的时候一定要选中最下面的发送邮箱选项,会发送到你的邮箱,或者申请完成后手动在页面下载。

2. 申请证书

地址:loovit
打开页面之后,复制粘贴CSR文件内容进去,全部(begin end部分也要带)
email地址最好是写管理类的域名邮箱,不然后面还得验证。

下面的姓名电话可选,没有太大意义。强迫症患者你就写上吧。
点击verify按钮,稍等几秒弹出提示:你提供的CSR属于xxx.xxx.com域名,检查下是否正确。
点击确定,稍作等待后进入验证邮箱界面,选择一个你可以正常使用的域名邮箱地址,提示成功后,稍等接收邮件!


很快邮件就办下来了,点击链接批准,又回收到一封申请成功的邮件,邮件最下方包含证书的crt,后面会用到。

1、2封邮件都有重要作用(1.申请CSR的时候发送的邮件;2.证书申请成功的邮件)
CSR邮件中的privatekey部分在证书安装的时候需要用到,切记要保存;
证书申请成功邮件最下面以文本形式发给你的也要保存;

阿里云虚机配置

证书做好了之后,我们把它配置到阿里云虚机,这个云虚机其实是不支持https的。但是如果购买了CDN的话,是可以支持的。为此我开通了CDN,选的是按流量收费。

访问阿里云的管理后台,进入CDN管理控制台, 域名列表->添加新域名, 源站域名选择IP, 这个IP可以在云虚机的控制台主机信息里找到。 这也是使用CDN的好处之一,可以隐藏源站IP,一定程度减少了被DDos的可能性,其他信息类似如下填写,注意这里的端口一定要使用80。因为云虚机的443端口(https默认端口)不开放,我们只能访问CDN服务器的443端口,然后由CDN服务器回源到云虚机的80端口,这样就实现https的访问,从本质上来说CDN网络节点就是一连串的反向代理服务器。

云虚机是阿里云旗下的(收购的万网业务),很快就通过审核,或者说不用审核,毕竟自家的,如果你使用别家的服务器可能需要一段时间审核。

点击立即配置,把https安全加速打开,打开证书配置。找到申请证书邮件里的。打开并复制其内容到阿里云CDN的“证书管理”,里“证书内容”输入框。再找到刚才我们生成csr证书,把它的内容也复制出来,放到“私钥”的输入框。跳转类型选择http->https,这样更利于SEO, 因为这样可以把相似或相同的内容集中到同一个url,避免了权重分散。

配置完成是这个样子,为何配了两个,一个带www和不带www的,因为我还没搞定不带www如何解析跳转到带www的地址,所以配了两。

域名解析配置

接下来我们配置CNAME绑定,阿里云会分配CDN的域名给你,比如像我的这样,你要在DNS里更改域名的映射
我的域名是万网的,现在也归并到阿里云了,更改如下:

因为没搞定不带www如何解析跳转到带www的地址,暂时先这么配,而且CNAME和MX的@配置冲突,现在暂时没法用我的域名邮箱了,这个后面再看有什么办法解决吧。。。

WordPress配置

最后一步是修改站点的代码,前面说过,虽然用户通过https访问CDN服务器,但CDN服务器到源站是通过http访问的,(以WordPress为例)这样的话,呈现在最终用户的页面中里,链接的地址还是显示http开头的,比如:http://www.carlxu.cn/about 我们需要呈现给用户的是https://www.carlxu.cn/about 这种的url, 在WordPress也很简单,它是有一套专门的url函数,可以做一些url控制,比如rewrite等,这也是不要去硬编码url的原因, 跟踪代码可以发现,它是通过 $_SERVER[‘HTTPS’] 服务器变量判断当前环境是否为https访问,我们可以这样骗过它,在wp-config.php文件开头写入以下内容:

define(‘WP_HOME’, ‘https://’.$_SERVER[‘HTTP_HOST’]);
define(‘WP_SITEURL’, ‘https://’.$_SERVER[‘HTTP_HOST’]);
$_SERVER[‘HTTPS’] = ‘ON’;

站内链接支持
你在上传到空间的附件都被 WordPress 标记为了绝对链接,而且全都妥妥的写入了 “http://”。一般来讲,是需要用数据库替换的,不过这种方法有点小危险,我这里给你推荐另外一个不错的选择:使用代码让 WordPress 在加载附件之前将链接替换就好了!
(我希望你使用了 WordPress 的子主题功能……)

找到当前主题下的 function.php 文件,编辑之,在里边代码的末尾追加如下代码:

/* 替换图片链接为 https */
function my_content_manipulator($content){
    if( is_ssl() ){
        $content = str_replace('http://www.logcg.com/wp-content/uploads', 'https://www.logcg.com/wp-content/uploads', $content);
    }
    return $content;
}
add_filter('the_content', 'my_content_manipulator');

另外,除了这个大头意外,你还需要关心站内的各种内链:

修改“菜单”当中的所有“自定义链接”为相对路径;
修改“设置”→“常规”里的“站点地址”和“WordPress 地址”为 HTTPS;
修改其他自己手贱写入的绝对链接地址……
关心一下插件

这下,你的博客应该已经能够完美的显示出一个绿色的小锁啦!

发表评论