16.2. 控制镜像 web-import 源

您可以通过在可选的 glance-image-import.conf 文件中添加 URI 块列表和允许列表来限制 web-import 镜像下载的源。

您可以在三个级别上允许或阻止镜像源 URI:

  • scheme (allowed_schemes, disallowed_schemes)
  • host (allowed_hosts, disallowed_hosts)
  • port (allowed_ports, disallowed_ports)

如果您在任何级别上同时指定了允许列表和 blocklist,则允许列表将被忽略。

镜像服务(glance)应用以下决策逻辑来验证镜像源 URI:

  1. 检查方案。

    1. 缺少方案: reject
    2. 如果存在允许列表,且方案没有存在于允许列表中: reject。否则,跳过 C 并继续 2。
    3. 如果有一个 blocklist,且方案存在于 blocklist 中: reject。
  2. 检查主机名。

    1. 缺少主机名: reject
    2. 如果存在允许列表,且允许列表中没有主机名: reject。否则,跳过 C 并继续 3。
    3. 如果有一个 blocklist,并且 blocklist 中存在主机名: reject。
  3. 如果 URI 中有一个端口,则会检查端口。

    1. 如果存在允许列表,并且允许列表中没有该端口: reject。否则,跳过 B 并继续 4。
    2. 如果有一个 blocklist,并且 blocklist 中存在的端口: reject。
  4. URI 被接受为有效。

如果您允许一个方案,可以通过将其添加到允许列表,或者不将其添加到黑名单中,允许任何使用该方案的默认端口的 URI (不允许在 URI 中包含端口)。如果 URI 中包含了一个端口,则 URI 会根据默认的决策逻辑进行验证。