Я в настоящее время реализую частный сервер Реестра Докера с nginx
настроенный для передачи https
передайте трафик надежно к под управлением Реестру Докера (т.е. docker-compose
) экземпляр на частной сети (с DNS, настроенный DHCP).
Я имею всю установку, работающую как ожидалось, но должен был создать самоподписанные сертификаты, поскольку мне не разрешают использовать, "Давайте Зашифруем" (трудное требование). Я развернулся .crt
файл к /usr/local/share/ca-certificates
на всей Ubuntu размещает в моей сети, и обновленный хранилище сертификатов (т.е. через sudo update-ca-certificates -f
).
Однако даже при том, что сертификату "доверяют" (от шага выше), сертификат все еще регистрируется, как "самоподписано", и единственный способ, которым я могу получить Реестр Докера, работающий полностью, путем создания файла, /etc/docker/daemon.json
, со следующим содержанием (принимающий мой экземпляр Реестра Докера работает registry
хост на моем lan
домен):
{
"insecure-registries" : [ "registry.lan:5000" ]
}
Это заставляет некоторую функциональность повреждаться (т.е. существуют некоторые плагины, которые не будут работать, если "небезопасные реестры" будут включены).
Как я могу настроить свою частную сеть (т.е. предположение, что она даже не подключена к Интернету большую часть времени) так, чтобы все машины в сети, "полностью доверительной" сертификат (т.е. таким образом, сертификату "публично доверяют" среди хостов в локальной сети)? т.е. что команда я могу работать или файл конфигурации, я могу настроить?
Это походит на возможное решение: создайте CA плюс сервер, включают мою частную сеть.
Спасибо.
Недостаточно добавить свой сертификат в /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 editor /etc/ca-certificates.conf
и добавить его относительный путь относительно /usr/local/share/ca-certificates/
, чтобы быть точным.
Таким образом, это должно быть что-то вроде:
self-signed/yourcert.crt
Затем выполните
sudo update-ca-certificates
Вы должны увидеть 1 сертификат, добавленный в вывод команды выше.
Имейте в виду, что этому сертификату будут доверять только на этом конкретном хосте. Вам также необходимо развернуть его в ваших док-контейнерах, если вы хотите, чтобы ему внутренне доверяли.