首页 文章

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

提问于
浏览
7

我有一个Jenkins工作,在那里我生成一个HTML-Page作为post buildstep,包含一个图像链接(HTML img标签) . HTML页面由每个作业的HTMLPublisher插件发布 .

这一直很有效 . 但是,由于我已将Jenkins更新为1.643版本,因此当我单击已发布的HTML页面时,我只看到一个空白页面 .

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

如果我用Firefox检查HTML页面,我可以看到图像标记是灰色的,就像它不可见,但事实并非如此 .

如果我嵌入了一个指向外部位置的普通超链接,我可以看到显示页面中的链接,但是当我点击它时,没有任何反应 .

就像Jenkins在这种情况下不允许外部链接一样 .

请帮帮我:)

谢谢!

Edit:

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

3 回答

  • 3

    您看到的问题可能与最近的security fixes有关 . 有关如何放松Jenkins配置的详细信息,请参阅Configuring Content Security Policy wiki page .

    可以通过设置系统属性hudson.model.DirectoryBrowserSupport.CSP来修改Jenkins发送的CSP头:如果其值为空字符串,例如java -Dhudson.model.DirectoryBrowserSupport.CSP = -jar jenkins.war然后根本不会发送 Headers . (警告!)这可能非常不安全,只应在查看整体安全设置后使用 .

    您可以使用Jenkins Script Console尝试不同的设置 .

    另外,在Wiki页面注释时,请确保已升级到HTML Publisher 1.10(或更高版本) .

  • 9

    我知道最初的问题是针对Linux的,但这也有助于Windows用户...如果你将Jenkins作为服务安装(从Jenkins.exe开始),你需要更改jenkins.xml中针对该属性的参数坚持下去

    如果要使用不安全的空白选项,请记住将参数放在引号中 . 下面是我在jenkins.xml中的示例行:

    <arguments>-Xrs -Xmx1048m -XX:MaxPermSize=512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle "-Dhudson.model.DirectoryBrowserSupport.CSP= " -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
    
  • 0

    如果您使用的是Red Hat,请更新 JENKINS_JAVA_OPTIONS

相关问题