高权重的域名已经完成了HTTPS协议的部署之后, 搜索引擎就会优先去索引那些https开头的地址。原来的http页面会通过301重定向的方式来进行无缝迁移, 这样权重和排名都不会受到影响。接下来提供的这个是标准的操作流程, 这个流程适用于几乎所有的主流服务器环境。

步骤一:选择并签发SSL证书

在针对高权重的域名, 我们强烈建议大家使用EV类型或者OV类型的证书, 这样做能够有效避免因为Let's Encrypt这类免费证书的短期过期问题, 从而产生的运维维护方面的风险。

如果说某个域名是用于企业核心业务的场景之下, 比方说像gname.xin这种具有品牌性质的域名, 那么我们建议优先考虑选择由DigiCert、Sectigo或者GlobalSign这些CA机构来负责签发相关的证书。

证书的类型要和域名绑定用的那种相匹配。因为通配符证书是用在主域名还有子域名上面的, 而单域名证书呢, 它只能保护一个单一的主机名。所以要在签发之前就得去确认一下域名的DNS解析是不是已经生效了。TXT验证记录这个事儿需要在24小时之内就给完成掉。

步骤二:服务器端配置TLS

<强>举个例子来说明一下情况。如果我们使用的是像nginx这样的一种常见的软件环境, 就专门去找到那个负责监听端口号为443的服务模块所在的区域。然后, 在这个区域里面明确地把用来存放ssl证书文件的路径和用来存放对应的私钥文件的路径给配置好, 这样做是为了让系统知道去哪里找这些必要的材料。

同时要把能够使用的协议版本严格限定在tlsv1点2以及tlsv1点3这两个范围内, 千万不要让它使用其他老旧的或者不安全的版本。不仅如此, 还必须把那些已经被证明不太安全、比较弱的加密套件方法给关掉, 这里面包括像rc4还有3des这样的具体方法都要被禁止使用。

那如果说大家所使用的运行环境不是nginx而是apache的话, 那么也可以通过一个叫作sslproxyssltlsciphers的这种专门的配置指令, 来实现基本上相同程度上的安全防护设置效果。在完成了相关配置之后, 需要去执行命令 nginx -t , 以便对语法的正确性进行验证。

接着, 再去执行 reload 操作, 这样可以让刚刚完成的配置实际生效。另外, 还需要开启一个叫做 HSTS 的头部信息, 具体的写法是 Strict-Transport-Security: max-age=31536000; includeSubDomains。

这么做的主要目的, 是用来强制要求浏览器在所有时候, 都必须采用 https 协议来进行访问。通过这种方式, 能够有效防止那些利用安全协议降级来进行的攻击行为, 确保连接的安全性和持久性。

步骤三:设置301重定向

在服务器这一层级里面, 把那些关于http协议的请求都进行永久性的重定向操作, 让其最终到达对应的使用了https协议的那个具体的地址位置, 接下来就是Nginx的配置相关内容。

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

这个步骤, 必须要把所有的变体情况都覆盖到。比如说, 要处理www和非www的区别, 要处理大小写路径的差异, 还要处理尾部斜杠的问题。对于权重比较高的域名来说, 如果以前已经有很多外链指向了http开头的地址, 那么使用301重定向这种方式, 就成了能够把权重无损迁移过来的关键部分。

邢台市重点项目建设促进中心

只有在重定向真正生效之后, 才可以去做后面的事情。这个时候, 需要去搜索引擎的后台里, 提交包含https版本的站点地图这样的东西。这样做的目的, 是为了能够加速对用新协议的网站的索引和收录过程的进行速度。

步骤四:更新站内资源引用

需要针对全站范围内的HTML、CSS、JS文件里面出现的绝对路径, 开展把从http://替换成为https://的操作工作。要把下面的重点位置当作核心对象进行排查检查。

页面内部包含了脚本, 同时也包含了框架元素, 这里所说的框架指的是iframe, 其中还可能包括那些用于统计以及广告的第三方脚本。

在CSS里面, 用url()这个函数引用起来的图片还有字体文件。

表单action属性

高权重域名配HTTPS完整指南:5步操作不丢权重不降分(图1)

就是那个用于调取API接口的地址。

结构化数据(Schema Markup)中的URL字段

使用全站正则替换之后, 要逐一进行验证, 确保没有出现混合内容的警告。如果在浏览器控制台中出现了不安全资源的提示, 那就代表替换操作并没有完成到位, 需要继续进行排查。

步骤五:验证与持续监控

在部署完成之后, 你要去执行下面的这个要确认的项目清单。

1. 访问https://域名, 确认浏览器地址栏显示安全锁标识。

2. 使用SSL Labs这个测试工具来进行操作, 具体的网址是,去检测其分数, 最终的目标是要达到A分以上。

3. 需要去确认一下那个301重定向的路线里没有发生循环跳转的情况, 也就是说不能有绕圈子的问题。

4. 在搜索引擎的后台里面, 去盯着那个索引覆盖率的报告看, 观察那些Http还有Https的网址, 它们从旧的换到新的收录进度到底是怎么样个情况。

5. 设置证书到期监控(建议提前30天告警), 避免因为证书过期导致全站不可访问的情形出现。

关键注意事项

在开始那个操作之前, 你必须记得要先把原http版本的全站快照进行备份, 并且要保证这个备份至少要保留三十天的时间, 以便后面如果有需要的话可以回滚到之前的状态。

在高权重的域名进行切换的那个时间段里面, 搜索引擎方面可能需要花费两到四个星期的时间, 来把新旧协议的网址所拥有的权重给迁移完毕, 所以说在这个过程里边可能会出现一点点排名的上下波动, 这种变化属于那种正常的情况。

如果你的域名也在使用 CDN 来进行加速的话, 你就需要在 CDN 的控制台里面, 同步地把 HTTPS 这个功能给开启起来, 并且把相关的证书上传上去。这样做是为了确保边缘节点所采用的协议与源站所使用的协议能够保持一致。

在重定向规则里面, 是不允许出现那种从https变成http的回跳情况的, 因为要是出现了这种回跳情况的话, 就会导致一个重定向循环的出现, 而这个重定向循环会直接地造成页面无法被访问的结果。

高频问题

需要回答的是, 在完成对 HTTPS 的相应配置工作之后, 用户是否需要对自己的域名来进行更换操作。

回答是, 不需要这样做。因为HTTPS其实是针对传输层做的协议升级操作, 而域名本身是没有发生变化的。搜索引擎在识别的时候, 发现的仍然是原来那个相同的域名主体。所以, 原有的权重是可以被完整保留下来的。

请问对于像gname.xin这样的短域名, 在启用和配置HTTPS这一项工作上, 存在着哪些需要特别留意的规范或者条件。

回答这个问题, 其实没有特别麻烦的要求。整个操作流程跟平时那些常规域名是完全一样的。因为短域名的字符数量很少, 而且解析的层级也少, 所以证书签发起来和DNS验证起来的步骤都更快一些。等配置完成之后, 搜索识别的效率也比之前略高一点。