有时我们使用HTML Publisher Plugin插件时,在jenkins点开html report,会发现没有带任何的css或js样式,这是因为Jenkins 1.641 / Jenkins 1.625.3将Content-Security-Policy标题引入了Jenkins 提供的静态文件(具体来说,DirectoryBrowserSupport)。此标题设置为非常限制的默认权限集,以保护Jenkins用户免受工作空间/userContent或归档工件中的恶意HTML / JS文件的干扰。默认的设置是:

默认规则设置为:

sandbox; default-src 'none'; img-src 'self'; style-src 'self';

此规则集导致以下内容:

  • 根本不允许JavaScript
  • 不允许插件(对象/嵌入)
  • 不允许内联CSS或其他网站的CSS
  • 没有允许来自其他网站的图片
  • 不允许帧
  • 不允许使用网络字体
  • 不允许XHR / AJAX
  • 等等

详细:

  • sandbox限制了页面可以执行的一些操作,类似于sandboxiframe上设置的属性。有关禁止的完整列表,请参阅此网站。该属性不被广泛支持。
  • default-src 'none' probihits加载脚本,AJAX / XHR / WebSockets / EventSources的URL,字体,插件对象,媒体和框架(图像和样式也将被禁止,但可以通过下面描述的更具体的规则进行)。
  • img-src 'self'允许加载由詹金斯提供的其他文件的图像。禁止内联图像定义。
  • style-src 'self'允许从Jenkins提供的其他文件加载样式表。禁止内联样式表。

请参阅content-security-policy.com以获取有关此标题及其可能值的引用。

所以需要我们在jenkins中做如下设置:

确保将HTML Publisher Plugin更新到1.10版,以使其与内容安全策略配合使用

进入系统管理->脚本执行行->输入下面的命令:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

点击下面的运行按钮,不生效的话,多运行几次。

还可以做如下配置:

Set a custom value for the header:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; default-src 'self';")

Unset the header:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

Set the header to the default:

System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")

Find out the current header value:

System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")

更多信息参见官网介绍:

https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy

用浏览器翻译了一下,作为参考:

jenkins安全内容配置策略的更多相关文章

  1. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

  2. jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限

    jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限 由于初次接触jenkins,于是在搭建好jenkins以后,想要对用户进行管理,于是乎开始在系统管理->conf ...

  3. Jenkins安装与配置

    Jenkins安装与配置 2 Jenkins安装 在最简单的情况下,Jenkins 只需要两个步骤: 1.下载最新的版本(一个 WAR 文件).Jenkins官方网址: http://Jenkins- ...

  4. WebLogic域配置策略

    WebLogic域配置策略--手动和模板选项,第一部分 域含有BEA WebLogic Server实例的配置信息.它包含有关服务器.集群和机器的配置信息.域还含有关于资源,例如Java数据库连接(J ...

  5. Jenkins的安装配置和使用

    Jenkins的安装配置和使用 1 Jenkins介绍 w3cschool中这样介绍:Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...

  6. Spring Cloud Config采用Git存储时两种常用的配置策略

    由于Spring Cloud Config默认采用了Git存储,相信很多团队在使用Spring Cloud的配置中心时也会采用这样的策略.即便大家都使用了Git存储,可能还有各种不同的配置方式,本文就 ...

  7. 【Linux】【Jenkins】Jenkins安装和配置等

    Jenkins配置详解: http://lib.csdn.net/article/git/18342 Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功 ...

  8. Linux防火墙简介 – iptables配置策略

    Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...

  9. [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)

    本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...

随机推荐

  1. CENTOS 6 通过YUM升级GCC到4.7/4.8

    第一阶段:升级到4.7 [root@01314.CN ~]# cd /etc/yum.repos.d [root@01314.CN yum.repos.d]# wget http://people.c ...

  2. Going deeper with convolutions(GoogLeNet、Inception)

    从LeNet-5开始,cnn就有了标准的结构:stacked convolutional layers are followed by one or more fully-connected laye ...

  3. No space left on device错误解决

    No space left on device错误解决笔记 今天准备重启下数据库(linux oracle11g) conn /as sysdba; 出现这样的错误No space left on d ...

  4. AOE网络的关键路径问题

    关于AOE网络的基本概念可以参考<数据结构>或者search一下就能找到,这里不做赘述. 寻找AOE网络的关键路径目的是:发现该活动网络中能够缩短工程时长的活动,缩短这些活动的时长,就可以 ...

  5. 使用TextView/EditText应该注意的地方,监听EditText,addTextChangedListener

    http://blog.csdn.net/huichengongzi/article/details/7818676 监听 EditText 控件: addTextChangedListener(ne ...

  6. Sublime Text Build 3065 License key

      Sublime Text Build 3065 License key 复制如下三个任意一个正版注册码即可 —– BEGIN LICENSE —– Andrew Weber Single User ...

  7. python 并发编程之协程

    一.协程 协程: 单线程下的并发,又称 微线程.协程是一种用户态的的轻量级线程,即协程是由用户程序自己控制调度的. ​ 协程的本质就是在单线程下,由用户自己控制一个任务,遇到 io 阻塞就切换另外一个 ...

  8. 涉及JSP、Servlet的页面编码问题

    1. JSP页面中,二处的字符编码有何区别 1.<%@ page contentType="text/html;charset=UTF-8" %> 是服务器端java程 ...

  9. js事件委托代码优化【感悟总结】

    前两天接手了同事的一个项目,是一个网站首页,其中有段代码很累赘,要实现的功能就是, 通过给父元素添加鼠标移入移出事件,来控制子元素显示隐藏. html代码,一共有四个父元素div,每个父元素嵌套一个子 ...

  10. WKWebView进度及title

    WKWebView进度及title WKWebView进度及title WKWebView 的estimatedProgress和title 都是KVO模式,所以可以添加监控: [webView ad ...