ActiveMQ Artemis 2.42.0管理控制台发送消息失败及离线环境问题咨询
解决ActiveMQ Artemis 2.42.0离线环境下控制台「发送消息」标签页的CSP及资源加载问题
问题根源
ActiveMQ Artemis 2.42.0管理控制台的「发送消息」功能依赖外部CDN提供的monaco-editor@0.43.0资源,离线隔离环境无法访问该CDN,导致资源加载失败,同时触发Content Security Policy(CSP)错误,该问题已在ARTEMIS-5569中记录。
离线环境解决方案
本地化monaco-editor资源
- 下载monaco-editor@0.43.0的完整发布包,解压后提取
min/vs目录下的所有文件。 - 将提取的
vs目录放置到控制台web应用的静态资源根目录(若使用console.war部署,需将vs目录添加到war包的根目录下)。 - 修改控制台中引用loader.js的页面代码,将原CDN路径替换为本地相对路径,例如
/console/vs/loader.js(路径需匹配实际部署的控制台上下文路径)。
- 下载monaco-editor@0.43.0的完整发布包,解压后提取
调整CSP配置
- 编辑Artemis的控制台配置,移除CSP规则中对外部CDN域名的依赖,添加允许加载本地资源的规则。
- 示例:将CSP的
script-src规则从包含外部CDN域名修改为'self' 'unsafe-inline'(根据实际需求调整,确保本地脚本能正常加载),同时对应调整style-src、font-src等相关规则。
重新部署控制台
- 若修改了console.war文件,重新打包war包并替换Artemis部署目录中的原console.war。
- 重启ActiveMQ Artemis Broker,使资源和配置变更生效。
内容的提问来源于stack exchange,提问作者Stevenpc3
相关产品推荐
相关产品推荐

