设置那个高权重的域名来使用HTTPS这个协议, 其核心的操作路径是这样的部分, 第一部分是去申请SSL证书, 第二个部分是在服务器上配置好环境, 第三部分是把流量强制跳到HTTPS页面, 并且还要进行HSTS这种加固处理。
这份指南适用于那些已经完成了ICP备案, 并且也已经积累了明确权重的那些域名, 如果按照全程进行操作的话, 大概需要花费的时间周期是30分钟。
操作前置条件
在执行相关配置工作之前, 必须先确认以下几个事项, 然后再进行。
域名方面已经完成了ICP备案这项工作, 然后备案号也已经成功地在对应的域名管理后台里完成了关联这个动作。
服务器环境是Linux(Nginx / Apache), 或者服务器环境是Windows(IIS)。
已经拿到了域名在DNS方面的管理权力, 这样的话, 就可以去添加那种叫做CNAME的记录, 或者是去添加那个叫做A记录的东西。
SSL证书的渠道包含用让 Encrypt来申请的免费版, 或者DigiCert、GlobalSign这样的商业CA付费版。
对于权重非常高的域名来讲, 最好是选用 OV证书或是 EV证书。选了这种证书之后, 用户打开浏览器时, 地址栏上会显示出企业的标识名字。这种做法能让用户对网站更容易产生信任的感觉。
步骤一:申请并安装SSL证书
1. 需要在域名管理控制台上去确认一下解析的状态是正常的, 这个域名管理控制台可以是像gname.xin域名控制台这样的地方, 要确保A记录是指向了目标服务器的IP地址。
2. 你去访问那个被选定的CA公司的官方网站, 然后填写域名的相关信息, 在这其中的CN字段里面填入主域名, 接着生成CSR文件。
3. 您需要完成域名验证, 如果是采用DNS类型的话, 就需要添加TXT记录, 如果是采用HTTP类型的话, 就得把验证文件放到网站的根目录下面。
4. 等那个验证的过程通过了之后, 再去把那个证书的文档给下载下来, 这个文档呢, 它包括了crt和chain还有pem这几个样子, 接着就把它给传到服务器的目录里头去, 一般大家都会建议把它放在/usr/local/ssl/这个地方。
5. 把证书的到期日期记清楚, 在快要到期的前30天的时候, 同时通过发送邮件和发送短信的方式来进行两次提醒。
步骤二:服务器HTTPS配置
Nginx配置要点:
编辑 /etc/nginx/conf.d/default.conf,添加 ssl_certificate 与 ssl_certificate_key 路径;
把那些 ssl_protocols 这个设置项给弄好, 它仅仅就保留那个 TLSv1.2 以及 TLSv1.3 这些协议版本, 千万不要再去启用那个 SSLv3 , 同时也要把 TLSv1.0 / 1.1 这些旧版本给统统禁用掉。
ssl_ciphers 指定 ECDHE-ECDSA-AES128-GCM-SHA256, 等高强度套件。
添加 HTTP→HTTPS 301跳转:if ($scheme = "http") { return 301 https://$host$request_uri; }
先运行nginx -t来验证配置的语法是否正确, 然后再执行nginx -s reload命令让新的配置生效。
Apache配置要点:
在 sites-enabled/yourdomain.conf 中启用 SSL vHost;
配置 SSLCertificate、SSLCertificateKeyFile 路径;
添加 Redirect permanent http://yourdomain.com/ https://yourdomain.com/;
执行 apachectl restart 这个操作, 来让服务得到重启。
步骤三:验证与HSTS加固
1. 请用浏览器去访问那个网址, 具体来说就是用浏览器打开包含https以及那个域名的地址, 随后需要确认在浏览器的地址栏里面没有出现关于不安全的警告内容, 同时也得确认没有看到有关于混合内容的提示信息。
2. 请使用那个名为SSL Labs的在线检测工具来进行评估, 这个工具的网址是scan.openssl.org, 要评定的目标级别是A和高于这个级别的等级。
3. 把那个叫作 Strict-Transport-Security 的东西, 加到响应头里去, 然后给它设置的值呢, 是 max-age=31536000;includeSubDomains。
4. 你可以在 Google Search Console 这个平台里面, 还有 Bing Webmaster Tools 这个工具里面, 把那些 HTTPS 协议的版本站点地图提交上去, 这样做的目的呢, 就是为了确保搜索的引擎能够快速地完成权重的迁移工作。
关键注意事项
把高权重的域名切换到 HTTPS 之后, 必须去搜索引擎的后台同步把协议更新为 HTTPS, 这样做的目的是为了预防在网站进行 301 跳转的时候, 出现收录延迟的情况。
如果证书到期了但是没有进行续期的操作, 就会让整台网站变得没有办法被访问, 所以一定要去部署那个自动续签的脚本, 这个脚本叫作 Let's Encrypt 的 certbot renew, 或者是使用那个 CA 提供的能够自动更新的接口。
页面中所有的第三方资源, 包括图片、CSS样式表和JS脚本文件, 都必须统一改成通过HTTPS协议的方式进行引用, 如果还是没有这样做的话, 浏览器就会仍然把这些东西标记为“不安全”, 这就直接影响到了用户对网站的信任度, 同时也会对搜索排名造成不好的影响。


