Вопрос

Вопрос

В настоящее время я внедряючастный сервер Docker Registry, nginxнастроенный на безопасную пересылку httpsтрафика на работающий экземпляр Docker Registry (т.е. docker-compose)в частной сети (с настроенными DNS, DHCP).

У меня вся установка работает как и ожидалось, но пришлосьсоздавать самоподписанные сертификатытак как мне не разрешено использовать«Давайте зашифруем»(жесткое требование). Я развернул файл .crtна /usr/local/share/ca-certificatesвсех хостах Ubuntu в моей сети и обновил хранилище сертификатов (например, через sudo update-ca-certificates -f).

Однако даже если сертификат «доверенный» (из шага выше), сертификат все равно зарегистрирован как «самозаверяющий» иЕдинственный способ заставить Docker Registry работать полноценно — это создать файл, /etc/docker/daemon.json, со следующим содержимым (предполагается, что мой экземпляр Docker Registry запущен на registryхосте в моем lanдомене):

{
  "insecure-registries" : [ "registry.lan:5000" ]
}

Это приводит к сбою некоторых функций (например, некоторые плагины не будут работать, если включены «небезопасные реестры»).


Вопрос

Как мне настроить свою частную сеть (предполагая, что она большую часть времени даже не подключена к Интернету) так, чтобы все машины в сети «полностью доверяли» сертификату (т. е. чтобы сертификат был «публично доверенным» среди хостов в локальной сети)?то есть какую команду я могу запустить или файл конфигурации я могу настроить?

Это кажется возможным решением: создать CA и ключ сервера в моей частной сети.

Спасибо.

решение1

Недостаточно просто добавить ваш сертификат в /usr/local/share/ca-certificates. Вам нужно убедиться, что он прочитал chmod для других, а также добавить его относительный путь в /usr/local/share/ca-certificates.

Допустим, ваш сертификат/usr/local/share/ca-certificates/self-signed/yourcert.crt

Вам следует отредактировать/etc/ca-certificates.conf

sudo редактор /etc/ca-certificates.conf

и добавьте его относительный путь, если /usr/local/share/ca-certificates/быть точным, относительно.

Итак, это должно быть что-то вроде:

самоподписанный/yourcert.crt

Тогда беги

sudo обновление-ca-сертификатов

В выводе команды выше вы должны увидеть 1 добавленный сертификат.

Имейте в виду, что этот сертификат будет доверенным только на этом конкретном хосте. Вам также нужно развернуть его в ваших контейнерах Docker, если вы хотите, чтобы он был доверенным внутри.

Связанный контент