Skip to main content
Skip to content

Разрешение заблокированного узла в задании обновления Dependabot

Диагностика задания обновления, которое завершается сбоем, так как Dependabot не удалось достичь узла и разрешить ему нужный узел.

Каждое Dependabot задание обновления выполняется за прокси-сервером HTTP/HTTPS. Прокси-сервер проверяет узел каждого исходящего запроса на исходящий список разрешений. Он блокирует запросы к узлам, которые не находятся на нем.

Это снижает риск того, что вредоносные зависимости или скрипт сборки могут отправлять содержимое репозитория или учетные данные реестра в неоценимое место назначения. Он не предотвращает отправку данных на разрешенный или скомпрометированный узел.

Большинство заданий не затронуты. Список разрешений уже охватывает общедоступные реестры, зеркальные отображения, CDN и узлы загрузки для поддерживаемых экосистем, а также GitHubинфраструктуру. Реестры, настроенные и на которые ссылаются для задания, также разрешены автоматически.

Реестр считается настроенным только при объявлении его в разделе верхнего уровня registries в dependabot.yml файле или при добавлении владельца организации в качестве частного реестра уровня организации. Определение реестра исключительно в файле конфигурации на основе экосистемы, например .npmrc``nuget.config, pip.confили Mavensettings.xml, не разрешает его узел. Диспетчер пакетов считывает реестр из этого файла и пытается связаться с ним, но прокси-сервер блокирует запрос.

Определение заблокированного запроса в журналах заданий

Когда прокси-сервер блокирует запрос, он возвращается 403 Forbidden в задание обновления. Сбой обычно возникает как ошибка сети или проверки подлинности диспетчера пакетов. Проверьте прокси-строки в журнале заданий, чтобы подтвердить причину. Сведения о том, как открывать журналы заданий, см. в разделе Просмотр журналов заданий Dependabot.

Заблокированный запрос выглядит следующим образом:

proxy | 2026/09/24 20:58:15 [052] GET https://packages.example.com:443/v2/my-package/tags/list
proxy | 2026/09/24 20:58:15 [052] * egress not allowlisted packages.example.com
proxy | 2026/09/24 20:58:15 [052] 403 https://packages.example.com:443/v2/my-package/tags/list
proxy | 2026/09/24 20:58:15 [052] Remote response: Forbidden

Строки из прокси-сервера префиксируются с proxy |номером запроса, [052] который группируют строки для одного запроса. Строка egress not allowlisted присваивает имя точному узлу, завершившемся сбоем проверки. Используйте этот узел, чтобы решить, что делать дальше.

Как разрешены узлы

Для каждого задания разрешены два независимых набора узлов.

Узлы по умолчанию включают общедоступные реестры, зеркальные отображения, CDN и узлы загрузки для поддерживаемых экосистем. Они также включают GitHub и Dependabot инфраструктуру. GitHub поддерживает этот список в dependabot/proxy репозитории и применяется к каждому заданию.

Узлы заданий приходят из реестров, настроенных для определенного задания. Объявите реестр под ключом верхнего уровня registries в dependabot.yml файле и сослаться на него из updates записи. Затем узел реестра разрешен для этого задания без изменения значений по умолчанию.

Объявите реестр, даже если он разрешает анонимный доступ. Это объявление dependabot.ymlв , а не наличие учетных данных, что делает узел доступным.

Владельцы организации также могут разрешить узлу реестра для заданий в организации, добавив реестр в качестве частного реестра уровня организации. Для реестра, который не требует проверки подлинности, используйте метод анонимной проверки подлинности. Учетные данные не хранятся или отправляются. См . раздел AUTOTITLE.

Это разделение определяет, где принадлежит заблокированный узел.

  • Общедоступный реестр или скачивание узла , которому могут потребоваться другие пользователи, могут законно потребоваться в значениях по умолчанию. См. статью "Добавление узла в значения по умолчанию".
  • Частный или корпоративный реестр принадлежит в dependabot.yml файле, никогда не в значениях по умолчанию. Настройте его в соответствии registries с этим разрешением только для заданий, которым он нужен. См. Настройка доступа к частным реестрам для Dependabot. Кроме того, владелец организации может добавить его как частный реестр уровня организации.

Добавление узла в значения по умолчанию

Если заблокированный узел является общедоступным реестром, зеркалом, CDN или узлом загрузки, его можно добавить, открыв запрос на вытягивание.dependabot/proxy Принятое дополнение применяется к каждому Dependabot заданию обновления, а не только к заданиям в вашей организации.

Репозиторий предоставляет навык агента , который проходит Copilot через этот процесс, от проверки того, принадлежит ли узел в значениях по умолчанию, чтобы открыть запрос на вытягивание. Работая в dependabot/proxy репозитории, сообщите Copilot , что узел заблокирован, попросите его разрешить список узлов или вставьте заблокированные строки из журнала заданий. Например, "repo.example.org заблокирован" или "пожалуйста, список разрешений foo.bar.com". В противном случае выполните следующие действия.

  1. Убедитесь, что узел принадлежит по умолчанию. Это должен быть общедоступный узел, который могут потребоваться задания других пользователей, а не тот, который относится к вашей организации. Убедитесь, кто управляет узлом и почему поддерживаемая экосистема требует доступа к нему. Если узел предназначен для вашей организации, настройте его в dependabot.yml файле.
  2. Проверьте узел из журналов заданий. Запишите точный узел с именем в строке egress not allowlisted . Реестры часто перенаправляют скачивание в отдельное хранилище или узел CDN, поэтому проверьте, заблокировано ли несколько узлов.
  3. Откройте запрос на вытягивание , чтобы добавить точный узел в соответствующий раздел internal/handlers/egress_allowlist_defaults.yaml. Включите краткое примечание, объясняющее, кто управляет узлом и что он служит. Следуйте комментариям в файле, чтобы выбрать нужный раздел и применить его соглашения. В поддержку будет проверяться изменение.

Если вы не уверены, следует ли добавить заблокированный узел в значения по умолчанию или настроить в файле, попросите в dependabot.yml репозитории dependabot/proxy .