我有一个Jenkins工作,在那里我生成一个HTML-Page作为post buildstep,包含一个图像链接(HTML img标签).HTML页面由每个作业的HTMLPublisher插件发布.
这一直很有效.但是,由于我已将Jenkins更新为1.643版本,因此当我单击已发布的HTML页面时,我只看到一个空白页面.
我已经尝试了很多东西并发现了以下奇怪的行为:自更新以来,我无法将外部链接嵌入到我发布的HTML页面中.如果我从外部位置嵌入图像(img src ="somelocation/xxx.jpg),则不会显示图像.
如果我用Firefox检查HTML页面,我可以看到图像标记是灰色的,就像它不可见,但事实并非如此.
如果我嵌入了一个指向外部位置的普通超链接,我可以看到显示页面中的链接,但是当我点击它时,没有任何反应.
就像Jenkins在这种情况下不允许外部链接一样.
请帮帮我:)
谢谢!
编辑:
感谢Dave Bacher,他给了我正确的提示.查看此页面以查看Jenkins的新安全策略.
https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy#ConfiguringContentSecurityPolicy-Implementation
您必须放宽规则,以便再次允许嵌入外部图像.
要进行测试,只需在脚本控制台中键入以下内容:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src *;")
这将允许从任何外部网站嵌入图像.
如果您在Ubuntu上运行Jenkins并且想要永久设置它,只需编辑文件/ etc/default/jenkins.在传递给java的#参数下添加以下行:
JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; img-src *;\""
Dave Bacher.. 11
您看到的问题可能与最近的安全修复程序有关.有关如何放松Jenkins配置的详细信息,请参阅配置内容安全策略Wiki页面.
可以通过设置系统属性hudson.model.DirectoryBrowserSupport.CSP来修改Jenkins发送的CSP头:
如果它的值是空字符串,例如,
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war
则根本不会发送标题.(警告!)这可能非常不安全,只应在查看整体安全设置后使用.
您可以使用Jenkins脚本控制台试验不同的设置.
另外,在Wiki页面注释时,请确保已升级到HTML Publisher 1.10(或更高版本).
您看到的问题可能与最近的安全修复程序有关.有关如何放松Jenkins配置的详细信息,请参阅配置内容安全策略Wiki页面.
可以通过设置系统属性hudson.model.DirectoryBrowserSupport.CSP来修改Jenkins发送的CSP头:
如果它的值是空字符串,例如,
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war
则根本不会发送标题.(警告!)这可能非常不安全,只应在查看整体安全设置后使用.
您可以使用Jenkins脚本控制台试验不同的设置.
另外,在Wiki页面注释时,请确保已升级到HTML Publisher 1.10(或更高版本).