什么是 HTTPS?
HTTPS(超文本传输安全协议)是一种互联网通信协议,可确保在用户的计算机与网站之间所传递的数据的完整性和机密性。每当访问网站时,用户都希望自己的在线体验安全无虞且具有私密性。因此,我们建议您采用 HTTPS 来保护用户与您网站之间的连接(无论您的网站上提供了什么内容)。
使用 HTTPS 发送的数据可通过传输层安全协议 (TLS) 得到保护。该协议可提供三重关键保护:
- 加密 - 对所交换的数据进行加密,以使其免受窥探。这意味着在用户浏览网站期间,没有人能够“听到”其会话内容,也无法在多个网页上跟踪其活动或窃取其信息。
- 数据完整性 - 不管是有意还是无意,在数据传输期间数据都无法被修改或损坏,也不会被检测。
- 身份验证 - 证明用户可与目标网站通信,这有助于保护用户免遭中间人攻击并建立用户信任,进而带来其他商业效益。
实施 HTTPS 时的最佳做法
使用强大的安全证书
在为网站启用 HTTPS 的过程中,您必须获得安全证书。证书由数字证书认证机构 (CA) 颁发,该机构会采取有关措施,确认您的网站地址是否确实属于您的组织,从而保护访问者免受中间人攻击。在设置证书时,您可以选择 2048 位密钥,来确保高级别的安全性。如果所持证书的密钥(1024 位)安全性较弱,请将其升级到 2048 位。选择网站证书时,请注意以下几点:
- 从提供技术支持的可靠 CA 处获取证书。
- 确定所需证书的类型:
- 适用于单个安全源的单个证书(例如
www.example.com
)。 - 适用于多个已知安全源的多网域证书(例如
www.example.com, cdn.example.com, example.co.uk
)。 - 适用于具有多个动态子网域的安全源的通配型证书(例如
a.example.com, b.example.com
)。
- 适用于单个安全源的单个证书(例如
使用服务器端 301 重定向
使用服务器端 301 HTTP 重定向将用户和搜索引擎重定向至 HTTPS 网页或资源。
确认 Google 能否抓取您的 HTTPS 网页并将其编入索引
- 请勿通过 robots.txt 文件阻止抓取您的 HTTPS 网页。
- 请勿在您的 HTTPS 网页中包含
noindex
标记。 - 使用网址检查工具测试 Googlebot 能否访问您的网页。
支持 HSTS
我们建议 HTTPS 网站支持 HSTS(HTTP 严格传输安全协议)。HSTS 不仅会告知浏览器自动请求 HTTPS 网页(即使用户在浏览器地址栏中输入的是 http
),还会告知 Google 在搜索结果中提供安全网址,从而最大限度地降低了向用户提供不安全内容的风险。
若要支持 HSTS,请使用支持 HSTS 的网络服务器并启用该功能。
虽然 HSTS 更安全,但它会增加回滚策略的复杂性。我们建议您按照以下方式启用 HSTS:
- 先推出未采用 HSTS 的 HTTPS 网页。
- 开始发送
max-age
较短的 HSTS 标头。监控来自用户和其他客户端的流量,并监控相关技术的效果,如广告。 - 逐步增加 HSTS
max-age
。 -
如果 HSTS 不会对您的用户和搜索引擎产生负面影响,您便可视需求请求系统将您的网站添加到大多数主流浏览器使用的 HSTS 预加载列表中。
考虑使用 HSTS 预加载
如果您启用了 HSTS,则可选择支持 HSTS 预加载,以进一步提高安全性并改善性能。若要启用预加载,您必须访问 hstspreload.org 并按照其中所述的提交要求对您的网站执行相应操作。
避免以下常见问题
在使用 TLS 保护网站安全的整个过程中,请避免以下错误:
问题 | 操作 |
---|---|
过期的证书 | 确保证书始终最新。 |
注册了错误网站名称的证书 | 检查您是否已获得可涵盖与您网站对应的所有主机名的证书。例如,如果您的证书仅涵盖 www.example.com,则仅使用 example.com(不带“www.”前缀)加载您的网站的访问者将会因证书名称不匹配错误而被禁止访问。 |
缺少服务器名称指示 (SNI) 支持 | 确保网络服务器支持SNI且您的受众通常使用支持的浏览器。所有新式浏览器都支持SNI,但如果您需要支持旧版浏览器,则需要一个专用的IP。 |
抓取问题 | 请勿使用 robots.txt 禁止 Google 抓取您的 HTTPS 网站。 |
索引编制问题 | 尽可能允许通过搜索引擎将网页编入索引。避免使用 noindex 标记。 |
旧版协议 | 旧版协议易受攻击;请务必使用最新版 TLS 库并实施最新版协议。 |
混合型安全元素 | 在 HTTPS 网页上只嵌入 HTTPS 内容。 |
HTTP 和 HTTPS 上的内容不同 | 确保HTTP网站和HTTPS上的内容相同。 |
HTTPS上的HTTP状态代码错误 | 确认网站是否返回正确的 HTTP 状态代码。例如,200 OK 表示网页无法访问,404 或 410 表示网页不存在。 |
更多提示
有关在网站上使用 HTTPS 网页的更多提示,请参阅 HTTPS 迁移常见问题解答。
从 HTTP 迁移到 HTTPS
如果您将网站从 HTTP 迁移到 HTTPS,则 Google 只会将其视为涉及网址更改的网站迁移。这可能会暂时影响您的部分流量。有关详情,请访问网站迁移概览页面。
在 Search Console 中添加新的 HTTPS 资源:Search Console 会分别处理 HTTP 和 HTTPS;数据不会在 Search Console 中的资源之间共享。
请参阅站点地图迁移的问题排查页面,以排查迁移问题。
更多信息
要详细了解如何在您的网站上实施 TLS,请参阅以下资源: