You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome与Edge无法加载跨域SourceMap问题咨询

GWT SuperDevMode源码映射端口被强制改写问题分析

问题背景

本地启动配置:

Web container: http://127.0.0.1:8888/
sourcemap: http://127.0.0.1:9876/

属于跨域场景,近期浏览器更新后,Chrome/Edge DevTools无法显示GWT源码,控制台出现如下警告:

DevTools failed to load source map: Could not load content for http://127.0.0.1:8888/sourcemaps/GwtModule/gwtSourceMap.json: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

但实际代码中指定的源码映射路径为:

//# sourceMappingURL=http://127.0.0.1:9876/sourcemaps/GwtModule/gwtSourceMap.json

可见浏览器将源映射请求的端口从9876强制改写为8888。

原因判定

这是浏览器安全增强措施导致的,并非Bug。

Chrome和Edge在近期版本中强化了跨域资源的安全限制,针对源映射文件(source map),默认会阻止加载来自不同端口(跨域)的资源。为了规避跨域风险,浏览器会自动尝试从当前页面所在的域名(包含端口)去请求源映射文件,因此出现了端口被改写为Web容器端口8888的情况。

解决方案

  • 同端口部署:将GWT SuperDevMode的源映射服务与Web容器部署在同一端口下,从根源消除跨域场景。
  • 临时禁用限制:调试时可通过Chrome启动参数关闭相关安全策略,启动命令添加:--disable-features=CrossOriginOpenerPolicy,CrossOriginEmbedderPolicy(仅建议调试使用,生产环境禁用)。
  • 反向代理配置:在Web容器中配置反向代理,将/sourcemaps路径的请求转发到http://127.0.0.1:9876/sourcemaps,让浏览器从同一端口请求源映射,避免跨域限制。

内容的提问来源于stack exchange,提问作者powtok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:42:47