Chrome与Edge随机页面报无法访问但Firefox正常,netlog报-100/-383错误
问题现象
大型Web应用近两周出现访问异常,特征如下:
- Chrome、Edge浏览器访问随机页面时,会短暂弹出“Site Can't be reached”错误,错误持续约1秒后页面自动刷新,数据可正常加载
- Firefox浏览器访问无同类问题
- 通过Chrome netlog工具抓取的日志中存在
net_error -100、net_error -383报错,核心日志片段:
t=31983 [st= 2] HTTP_TRANSACTION_RESTART_AFTER_ERROR --> net_error = -100 (ERR_CONNECTION_CLOSED) t=31983 [st= 2] +HTTP_STREAM_REQUEST [dt=1086] t=31983 [st= 2] HTTP_STREAM_JOB_CONTROLLER_BOUND --> source_dependency = 25583 (HTTP_STREAM_JOB_CONTROLLER) t=33069 [st=1088] HTTP_STREAM_REQUEST_BOUND_TO_JOB --> source_dependency = 25584 (HTTP_STREAM_JOB) t=33069 [st=1088] -HTTP_STREAM_REQUEST t=33069 [st=1088] +URL_REQUEST_DELEGATE_CONNECTED [dt=0] t=33069 [st=1088] PRIVATE_NETWORK_ACCESS_CHECK --> client_address_space = "unknown" --> resource_address_space = "public" --> result = "blocked-by-inconsistent-ip-address-space" t=33069 [st=1088] -URL_REQUEST_DELEGATE_CONNECTED --> net_error = -383 (ERR_INCONSISTENT_IP_ADDRESS_SPACE) t=33069 [st=1088] -URL_REQUEST_START_JOB --> net_error = -383 (ERR_INCONSISTENT_IP_ADDRESS_SPACE) t=33069 [st=1088] URL_REQUEST_DELEGATE_RESPONSE_STARTED [dt=0] t=33069 [st=1088] -CORS_REQUEST
根因分析
问题由Chromium内核(Chrome、Edge均基于该内核)默认启用的私有网络访问(PNA)安全校验机制拦截请求导致,Firefox未默认启用该严格校验逻辑,因此不会出现同类报错:
- 日志中的
-100 (ERR_CONNECTION_CLOSED)是连接复用阶段的常规现象:浏览器尝试复用之前建立的HTTP长连接发送请求时,发现该连接已经被服务端、负载均衡或CDN节点主动断开,因此自动重启请求流程,这一步本身不会触发用户可见的错误提示。 - 重启请求后抛出的
-383 (ERR_INCONSISTENT_IP_ADDRESS_SPACE)是触发错误页的直接原因:请求发起瞬间浏览器还未完成客户端自身IP地址空间的识别,将client_address_space标记为unknown,和识别到的目标资源public公网地址空间不匹配,触发PNA规则拦截,短暂抛出无法访问的错误。 - 错误1秒左右自动恢复的原因:浏览器拦截第一次失败请求后,会自动发起全新连接重试,第二次请求时客户端地址空间已经识别完成,PNA校验通过,资源正常加载,因此表现为错误短暂闪现后自动恢复。
这类问题集中在近两周出现,通常对应两类变更:
- 客户端Chrome/Edge自动更新到了强制启用PNA硬校验的新版本
- 服务端、CDN或负载均衡调整了长连接超时配置,导致大量可复用的长连接被提前断开,提升了请求重启的概率,进而提高了PNA校验触发拦截的几率
排查与修复方案
- 验证根因:在Chrome/Edge地址栏输入
chrome://flags/#private-network-access-respect-preflight-results,将对应选项设置为Disabled后重启浏览器访问测试,若错误消失即可确认是PNA校验导致的问题。 - 接入层配置调整:检查负载均衡、CDN、反向代理的HTTP长连接超时配置,将其设置为小于Chromium内核默认的长连接复用超时阈值(通常为5分钟),避免浏览器复用已断开的死连接触发不必要的请求重启。
- 跨域配置适配:如果服务存在跨域请求场景,按照PNA规则补全跨域响应头,放行公网空间的正常资源请求。
内容的提问来源于stack exchange,提问作者Nikhil
相关产品推荐
相关产品推荐

