Применение аутентификации сертификата клиента на Docker для настольных ПК на Windows - PullRequest
0 голосов
/ 28 мая 2020

Я использую Windows с Docker для настольного компьютера, пытаясь отправить / извлечь в / из частного корпоративного реестра Docker, который требует аутентификации сертификата клиента. К сожалению, из-за этой прекрасной ошибки (https://github.com/docker/for-win/issues/2231) я не могу загрузить необходимые сертификаты.

Итак, у меня есть три файла:

  • ca.crt
  • client.key
  • client.cert

На других платформах (Ma c, Linux) я просто поставил эти три файлы в папке ~/.docker/certs.d/example.registry, и он работает, поэтому я знаю, что с сертификатами все в порядке.

В любом случае из-за вышеупомянутой ошибки я не могу загрузить их должным образом. Я знаю, что в проблеме с Github есть обходной путь, но я не хочу выполнять действия вручную каждый раз, когда обновляется мой Docker. Кроме того, мне нравится эта возможность узнать кое-что о другом подходе.

Моя идея:

  1. Прокси-сервер всех docker запросов к моей локальной машине.
  2. Выполнить прокси, который пересылает запрос в реестр и помещает сертификаты в запрос.

Идея состоит в том, что всякий раз, когда программное обеспечение Docker обновляется, мне не нужно ничего менять. И когда ошибка будет исправлена ​​в Docker для рабочего стола для Windows, я могу просто удалить прокси, и мне будет хорошо go.

Шаг 1 уже работает, настроив Docker вот так: Docker Proxy Settings

Я попытался запустить прокси на своей машине, но немного запутался в терминологии. Я пробовал запускать такие инструменты, как Squid, Stunnel и mitmproxy, но безуспешно. На данный момент я даже не знаю, возможно ли то, что я пытаюсь сделать. Дальше я зашел с mitmproxy. Я отправил запрос, и в результате было получено сообщение no_shared_ciphers_available. Я не знаю, правильно ли я загрузил сертификаты или они вообще не загружены.

Итак, вопросы:

  • Правильно ли я, что мне нужен (обратный) прокси?
  • Можно ли вообще обойтись этим подходом?
  • Если оба ответа на оба вопроса утвердительные, что проще всего настроить и есть ли пример?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...