一尘不染

Jenkins HTML Publisher插件:Jenkins 1.643没有外部链接

jenkins

我有一个詹金斯(Jenkins)工作,我在其中生成一个HTML页作为构建步骤,其中包含图像链接(HTML
img标签)。该HTML页面由HTMLPublisher插件针对每个作业发布。

这一直很好。但是由于我已经将Jenkins更新为1.643版,所以当我单击发布的HTML页面时,我只会看到空白页面。

我已经尝试了很多方法,并发现了以下奇怪的行为:自更新以来,我无法将外部链接嵌入到发布的HTML页面中。如果我从外部位置嵌入图像(img src =“
somelocation / xxx.jpg),则不会显示该图像。

如果我使用Firefox检查HTML页面,则可以看到image标签是灰色的,就像它是不可见的一样,但不是。

如果我嵌入一个指向外部位置的普通超链接,则可以在显示的页面中看到该链接,但是当我单击它时,什么也没有发生。

就像詹金斯在这种情况下不允许外部链接。

请在这里帮助我:)

谢谢!

编辑:

感谢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 *;\""

阅读 298

收藏
2020-07-25

共1个答案

一尘不染

您看到的问题可能与最近的安全修复程序有关。有关如何放松Jenkins配置的详细信息,请参见“
配置内容安全策略Wiki”页面

可以通过设置系统属性 hudson.model.DirectoryBrowserSupport.CSP 来修改Jenkins发送的CSP标头:

如果其值为空字符串,例如,java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war那么将根本不发送标头。

(警告!)这可能是非常不安全的,只有在检查了总体安全设置之后才能使用。

您可以使用Jenkins脚本控制台尝试不同的设置。

另外,作为Wiki页面的注释,请确保您已升级到HTML Publisher 1.10(或更高版本)。

2020-07-25