对于像gname.xin这种注册年限长、外链积累多的权重高的域名, 在配置Https的时候, 核心原则是这样的: 要优先选择那个和现在使用的Ssl证书体系 compatible 的方案, 也就是说要兼容, 这样做是为了避免更换证书或者更换解析服务商。

这样做的目的是为了防止搜索引擎的索引出现波动。接下来要从三个方面给出完整的配置路径, 这三个方面分别是: 证书选型、部署流程、以及高权重域名专项注意事项。

证书选型

高权重域名的证书选择需兼顾安全性与稳定性:

推荐的方案是使用Let's Encrypt DV证书, 这个选择是完全免费的, 并且能够支持每90天进行自动续期的操作, 对于那些对搜索引擎优化带来的影响非常敏感的老旧域名来说, 这种切换措施的成本相对较低, 同时也具备了可以实现快速回退的功能。

这是一个进阶方案, 采用的是RapidSSL或者Comodo OV证书, 这个证书的有效期是3年。它适合那些网站, 因为这些网站在向终端用户展示企业信任标识方面是有需要的。

在配置HTTPS的过程当中, 是绝对不应该去更换域名NS记录的, 也是绝对不能变更DNS解析服务商的。这样做是为了防止搜索引擎的蜘蛛验证突然中断, 从而导致索引出现异常的情况。

部署流程(以Nginx为例)

拿那个所谓的例子来说事儿, 这个例子就是gname.xin这一个东西, 然后你得按照下面这几个步骤一个不落地去执行一遍操作。

步骤是第一步, 要去申请那个证书。在终端这个地方, 执行操作:

通过命令行界面执行sudo权限, 并且调用certbot这个工具去只申请证书, 不用默认的全自动流程, 而是以standalone这种独立运行模式来操作, 针对的域名第一个是gname点xin, 第二个是www点开头后面跟着的gname点xin。

到了步骤2的时候, 你要知道, 证书文件默认的话是放在/etc/letsencrypt/live/gname.xin/那个目录底下的。这个时候, 你需要去确认一下, 那个全名的链式证书文件fullchain.pem还有私钥的privkey.pem这两个文件都是完整的。

进入第三步, 这个环节需要对Nginx服务的配置文件实施修改的动作, 在修改的过程中需要添加一个针对443端口进行监听的全新server代码块。

server {

listen 443 ssl;

server_name gname.xin www.gname.xin;

ssl_certificate /etc/letsencrypt/live/gname.xin/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/gname.xin/privkey.pem;

高权重域名HTTPS配置:证书选型到部署一步到位(图1)

ssl_protocols TLSv1.2 TLSv1.3;

}

步骤4: 在针对80端口的server配置块里, 加入301跳转设置,使得所有的HTTP请求都统一地转向到HTTPS。

return 301 https://$host$request_uri;

步骤5: 执行 nginx -t 命令来验证配置文件的语法是否没有错误高权重域名HTTPS配置指南, 然后, 执行 systemctl reload nginx 命令, 这样就能让新的配置生效了。

高权重域名专项注意事项

1. 在配置之前, 我们需要先通过Google Search Console这个工具和Bing Webmaster工具, 把 sitemap 进行手动提交, 这样做的目的是为了缩短 HTTPS 切换之后, 索引迁移周期会变长的这个问题。

2. 需要逐页建立从HTTP到HTTPS的301映射关系, 这样做可以确保高权重页面的外链权益能够完整地转移出去,同时不会产生404错误或者软重定向的情况。

3. 把监控这个周期说清楚高权重域名HTTPS配置指南, 就是在切换动作做完之后的前14天里面, 每一天都要去仔细检查 Search Console 里面的数据, 重点关注索引量、安全警告还有404错误这三个最核心的指标, 一旦发现有什么异常情况出现, 就要马上把之前的版本回滚过去。

4. 在实施 HSTS 策略的时候,必须要求该站点达到稳定运行的状态灵音心图, 并且持续时间要满足 30 天的条件, 只有在这样明确的条件都具备之后, 才可以考虑去添加 Strict-Transport-Security 响应头, 而在整个过渡的时间段以内, 是绝对严格禁止开启相关的功能, 主要是为了预防在后续更换证书的过程当中, 会引发用户无法正常访问这种情况的出现。

上线验证清单

当你看着浏览器地址栏的时候, 那里显示着一把小锁的图片, 并且没有弹出任何关于安全方面的警报内容。

这个在线的扫描服务的评级, 它是得达到A级及以上的水平。

搜索引擎在执行了对那个“site:gname.xin”的这个操作之后, 所返回的结果全部都是使用https这个协议的。

在对页面的源代码进行检查的过程当中, 我们并没有发现存在混合内容方面的警告提示这一情况。

当用户使用旧的HTTP统一资源定位符进行访问之后, 需要在三分钟内的短暂时间里进行自动重定向, 以便将用户引导至对应版本的超文本传输安全协议链接页面。

在完成以上的全部步骤之后, 高权重域名的HTTPS配置这项工作就算是已经结束了。在后续的阶段只需要去确认一下certbot这个自动续期的定时任务是不是能够正常地运转起来, 具体可以通过运行systemctl status certbot.timer这个命令来检查。

当证书距离到期日还剩下60天的时候, 系统就会自动地进行续签操作并重新进行reload Nginx这一步动作。整个这一套流程是完全不需要人工进行特别干预的。