Chrome与Edge为何错误计算Cookie过期时间?技术排查求助
排查时区与UTC转换逻辑
- 服务器端
DateTime.Now是本地时间,Cookie过期时间会被转换为UTC传输。确认服务器时区设置是否近期变动,是否存在夏令时/冬令时切换导致的转换误差。 - 替换代码中的
DateTime.Now为DateTime.UtcNow,直接基于UTC设置过期时间,规避时区转换风险,测试是否恢复正常。
- 服务器端
检查Chrome本地设置与扩展
- 查看Chrome的系统时间同步状态(
chrome://settings/system),确保浏览器本地时间与服务器UTC时间无偏差,避免因时间不一致导致过期时间显示异常。 - 在Chrome隐身模式下测试,若隐身模式中Cookie过期时间正常,说明是第三方Cookie管理类扩展(如隐私插件、广告拦截工具)篡改了过期时间,逐一排查已安装的扩展。
- 查看Chrome的系统时间同步状态(
校验HTTP响应头的Set-Cookie字段
- 用浏览器开发者工具(F12)查看响应头中的
Set-Cookie内容,确认服务器发送的过期时间字符串格式、数值是否符合预期。 - 对比Firefox和Chrome收到的
Set-Cookie头是否完全一致,排查服务器端是否存在针对Chrome User-Agent的特殊处理逻辑。
- 用浏览器开发者工具(F12)查看响应头中的
检查服务器近期更新与时间同步
- 排查服务器近期是否安装了Windows更新或.NET框架补丁,部分更新可能影响
DateTime的时区转换逻辑,必要时回滚相关更新测试。 - 用命令
w32tm /query /status确认服务器时间同步状态,确保服务器与NTP服务器时间无偏移。
- 排查服务器近期是否安装了Windows更新或.NET框架补丁,部分更新可能影响
验证Chrome版本兼容性
- 当前使用的Chrome版本为108.0.5359.125,排查该版本是否存在已知的Cookie过期时间解析Bug,尝试升级到最新稳定版或降级至之前正常运行的版本,验证问题是否消失。
内容的提问来源于stack exchange,提问作者gman
相关产品推荐
相关产品推荐

