Jenkins HTML 发布者插件:允许脚本权限问题
Jenkins HTML Publisher Plugin : allow script permission issue
我正在尝试使用 Jenkins 中的 HTML 发布者插件报告我的 .html
文件
但是,由于 HTML 发布者更新到版本 1.10,无法发布 HTML。
我收到的错误消息:
Blocked script execution in '{mydomain}' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.
Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.
我找到了这个文档:
https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy
它讲述了 CSP。
我 运行 詹金斯与 arg :
/usr/bin/java -Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=sandbox allow-scripts; style-src 'unsafe-inline' *;script-src 'unsafe-inline' *; -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1
但仍然出现上述相同的错误。
我试过的参数:
1. -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox; default-src 'self';"
2. -Dhudson.model.DirectoryBrowserSupport.CSP=
3. -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox; default-src *;"
4. -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox allow-scripts; default-src *;"
.html 位于:
{mydomain}/job/{job_name}/Doc/index.html
您可以尝试使用空白 CSP 选项吗?
/usr/bin/java -Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP= -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1
在我的 Jenkins 实例上,它解决了我的报告问题。
我知道这不是一个安全的选择,但我没有找到其他解决方案:(
我遇到了类似的问题,我发现并应用了以下解决方案:
步骤:
- 转到 Jenkins 管理页面(以管理员身份登录)。
- 转到管理 Jenkins -> 脚本控制台
- 然后在脚本控制台中复制粘贴使其生效
片段:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-scripts; default-src *; style-src * http://* 'unsafe-inline' 'unsafe-eval'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'");
此 link 提供了我们在上述代码行中设置的每个参数的更多详细信息。
关于 jenkins 配置持久性的注意事项:
@RayKim 提到这不是一个可持续的变化。如果您想永久保留此更改,那么在这种情况下,您应该在 JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.remoting.Launcher.pingIntervalSec=0"
中设置此 属性 值
设置此变量后,您必须重新启动 Jenkins
以加载新配置。
以上对我来说没用;
我试过了
管理 Jenkins -> 脚本控制台
复制粘贴这个
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
对于永久解决方案:
将以下内容添加到 /etc/default/jenkins 下的 JAVA_ARGS:
-Dhudson.model.DirectoryBrowserSupport.CSP=""
我正在尝试使用 Jenkins 中的 HTML 发布者插件报告我的 .html
文件
但是,由于 HTML 发布者更新到版本 1.10,无法发布 HTML。
我收到的错误消息:
Blocked script execution in '{mydomain}' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.
Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.
我找到了这个文档: https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy
它讲述了 CSP。
我 运行 詹金斯与 arg :
/usr/bin/java -Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=sandbox allow-scripts; style-src 'unsafe-inline' *;script-src 'unsafe-inline' *; -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1
但仍然出现上述相同的错误。
我试过的参数:
1. -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox; default-src 'self';"
2. -Dhudson.model.DirectoryBrowserSupport.CSP=
3. -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox; default-src *;"
4. -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox allow-scripts; default-src *;"
.html 位于:
{mydomain}/job/{job_name}/Doc/index.html
您可以尝试使用空白 CSP 选项吗?
/usr/bin/java -Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP= -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1
在我的 Jenkins 实例上,它解决了我的报告问题。
我知道这不是一个安全的选择,但我没有找到其他解决方案:(
我遇到了类似的问题,我发现并应用了以下解决方案:
步骤:
- 转到 Jenkins 管理页面(以管理员身份登录)。
- 转到管理 Jenkins -> 脚本控制台
- 然后在脚本控制台中复制粘贴使其生效
片段:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-scripts; default-src *; style-src * http://* 'unsafe-inline' 'unsafe-eval'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'");
此 link 提供了我们在上述代码行中设置的每个参数的更多详细信息。
关于 jenkins 配置持久性的注意事项:
@RayKim 提到这不是一个可持续的变化。如果您想永久保留此更改,那么在这种情况下,您应该在 JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.remoting.Launcher.pingIntervalSec=0"
设置此变量后,您必须重新启动 Jenkins
以加载新配置。
以上对我来说没用;
我试过了
管理 Jenkins -> 脚本控制台 复制粘贴这个
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
对于永久解决方案: 将以下内容添加到 /etc/default/jenkins 下的 JAVA_ARGS:
-Dhudson.model.DirectoryBrowserSupport.CSP=""