我们正在设置一个新的 Jenkins 实例,发现“资源根 URL”默认为空。我已经阅读了关于这个的 Jenkins 文档和(少数)stackoverflow 响应,但我仍然不清楚如何填写这个字段。在我们的例子中,我们使用的是一个租用的服务器实例,它有一个专用的外部 IP 地址(一个点四边形),但没有域名。顺便说一句,“Jenkins URL”似乎已正确设置为我们的外部点分四组地址。
谢谢!
据我所知,您需要两个不同的域指向同一个 Jenkins 实例。这似乎是frame-ancestorsContent-Security-Policy 指令的限制,请参阅JENKINS-41891 的第 6 条评论。
简而言之,CSP(内容安全策略)是一种安全功能,它限制浏览器包含外部资源(例如图像和 CSS)或执行外部脚本。
在 Jenkins 的上下文中,CSP 用于限制用户提供的内容(例如已发布的 Maven 站点)与 Jenkins 混淆/交互。如果没有它,在 Jenkins 中没有管理权限但能够在 Maven 站点中包含脚本(即具有对源存储库的提交权限)的开发人员可能会在管理员浏览包含此恶意脚本的已发布 Maven 站点时立即触发管理 Jenkins 任务。
问题是,您通常希望在 Jenkins 发布的用户生成内容上使用脚本。但是由于存在安全风险,CSP 还是会阻止它们。
所以你有这些选择:
因此,如果您想使用Resource root URL,则需要两个域(或一个域和一个 IP)才能使其工作。然后你应该能够像这样设置你的詹金斯:
在这个例子中,jenkins.example.org和 都jenkins-static.example.org指向同一个 IP。
请注意,以上所有内容均由非安全性和非 Jenkins 专家编写,因此可能不是 100% 准确。但它应该能传达这个想法。
| 归档时间: |
|
| 查看次数: |
2530 次 |
| 最近记录: |