要判断一次访问是否真正用上了 HTTPS 优势,日志里最该先核对的是:请求协议或端口、TLS 版本与加密套件、证书校验结果、SNI 主机名、重定向链路、响应状态码。只看到 https:// 字样并不够,因为重定向失败、证书链不完整、混合内容或代理终止 TLS,都会让页面看似 HTTPS 实际没有获得相应优势。下面按“从交付结果倒推证据”的方式,给出可执行的核对清单。
HTTPS 优势通常指三件事:传输加密、身份可验证、内容未被中途篡改。日志要能支撑其中至少一项结论,而不是只记录“访问成功”。因此先写下验收目标,例如“确认用户到源站全程加密”或“确认某次抓取没有因证书问题失败”,再决定核对哪些字段。目标不同,字段优先级不同。
请求侧字段回答“客户端到底连了什么”。常见可核对项包括:
scheme 或 protocol:值为 http 还是 https。注意反向代理场景下,源站看到的可能是 http,需结合 X-Forwarded-Proto 判断。443 表示 TLS 默认端口,80 表示明文。端口正确不代表证书正确。SNI:客户端请求的主机名。多域名共用 IP 时,SNI 缺失或错误会导致返回错误证书。如果日志里只有 URL 没有协议字段,可以用 X-Forwarded-Proto 或访问日志格式中的 %{HTTPS} 类变量补充。判断规则:X-Forwarded-Proto: https 且源站未再次跳转,才可认为该请求在边缘已加密。
这一组字段直接对应 HTTPS 优势中的加密与身份验证。可核对:
TLSv1.2、TLSv1.3 属于较新协议;出现 SSLv3 或 TLSv1.0 需标记为待评估,是否可接受取决于你的合规要求。verify_ok、verify_error 及具体错误码,如过期、主机名不匹配、链不完整。注意:HTTPS 不保证安全无漏洞,也不保证排名提升。日志只能证明本次连接是否加密、证书是否通过校验,不能证明应用层没有其他风险。
很多“HTTPS 优势没体现”的问题出在链路而非加密本身。核对:
301/308 为永久跳转,302/307 为临时跳转。反复出现 302 循环会消耗抓取与加载。http 是否一次性跳到 https,还是多次跳转。blocked-uri 是否为 http://。Strict-Transport-Security 说明站点声明强制 HTTPS,但首次访问仍可能走 HTTP。判断结果:若最终响应为 200 且协议为 https、证书校验通过、无混合内容告警,可认为本次访问获得了传输层优势;若中途出现明文跳转或证书错误,则应先修复该环节,再谈其他优化。
按下面顺序做一次抽样,能较快定位原因:
200 或协议为 http 的记录。下一步:先选一个真实出问题的 URL,按上述字段导出一份最小日志样本,再逐项标注“已确认”或“待验证”,这样后续修复才有依据。