gpt4 book ai didi

jenkins - 如何在 Jenkins 中设置 "Resource root URL"

转载 作者:行者123 更新时间:2023-12-04 12:09:49 34 4
gpt4 key购买 nike

我们正在设置一个新的 Jenkins 实例,发现“资源根 URL”默认为空。我已经阅读了关于这个的 Jenkins 文档和(少数)stackoverflow 响应,但我仍然不清楚如何填写这个字段。在我们的例子中,我们使用的是一个租用的服务器实例,它有一个专用的外部 IP 地址(一个点四边形),但没有域名。顺便说一句,“Jenkins URL”似乎已正确设置为我们的外部点分四组地址。

  • 格式正确的“资源根 URL”是什么样的?
  • 如何设置没有域名的“资源根 URL”?
  • 该文档提到 CSP(内容安全策略)应该是其中的一部分。它是什么以及如何设置它?
  • 综上所述,为 Jenkins 构建“资源根 URL”的步骤是什么?

  • 谢谢!

    最佳答案

    据我所知,您需要两个不同的域指向同一个 Jenkins 实例。这似乎是 frame-ancestors 的限制Content-Security-Policy 指令,见 the 6th comment to JENKINS-41891 .
    简而言之,CSP(Content-Security-Policy)是一种安全功能,它限制浏览器包含外部资源(例如图像和 CSS)或执行外部脚本。
    在 Jenkins 的上下文中,CSP 用于限制用户提供的内容(例如已发布的 Maven 站点)与 Jenkins 混淆/交互。如果没有它,在 Jenkins 中没有管理权限但能够在 Maven 站点中包含脚本(即具有对源存储库的提交权限)的开发人员可能会在管理员浏览包含此恶意脚本的已发布 Maven 站点时立即触发管理 Jenkins 任务。
    问题是,您通常希望在 Jenkins 发布的用户生成内容上使用脚本。但是由于存在安全风险,CSP 还是会阻止它们。
    所以你有这些选择:

  • 在您发布的人工制品中使用非工作脚本。如果您不使用托管在 Jenkins 实例上的已发布人工制品,您可能不需要资源 URL,也不必担心。
  • 放宽 CSP 限制:这在 Jenkins User Handbook: Configuring Content Security Policy 中有所描述。 ,但麻烦且有安全风险(=容易出错)。
  • 使用第二个域:这是资源根 URL。从浏览器的角度来看,这两个 URL 彼此无关,因此不信任资源 URL 上的脚本与“主”URL 上的 Jenkins 混淆。

  • 因此,如果您想使用资源根 URL,则需要两个域(或一个域和一个 IP)才能使其工作。然后你应该能够像这样设置你的 Jenkins :
  • Jenkins 网址:https://jenkins.example.org/
  • 资源根 URL:https://jenkins-static.example.org/

  • 在这个例子中 jenkins.example.orgjenkins-static.example.org指向同一个IP。

    请注意,以上所有内容均由非安全性和非 Jenkins 专家编写,因此可能不是 100% 准确。但它应该能传达这个想法。

    关于jenkins - 如何在 Jenkins 中设置 "Resource root URL",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64764038/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com