Pergunta

Pergunta

Atualmente estou implementando umservidor Docker Registry privado nginxconfigurado para encaminhar httpso tráfego com segurança para a instância do Docker Registry (ou seja docker-compose) em execuçãoem uma rede privada (com DNS, DHCP configurado).

Eu tenho toda a configuração funcionando conforme o esperado, mas tive quecriar certificados autoassinadosjá que não tenho permissão para usar"Vamos criptografar"(requisito difícil). Implantei o .crtarquivo /usr/local/share/ca-certificatesem todos os hosts Ubuntu da minha rede e atualizei o armazenamento de certificados (ou seja, via sudo update-ca-certificates -f).

No entanto, mesmo que o certificado seja "confiável" (da etapa acima), o certificado ainda está registrado como "autoassinado" ea única maneira de fazer o Docker Registry funcionar totalmente é criando um arquivo, /etc/docker/daemon.json, com o seguinte conteúdo (assumindo que minha instância do Docker Registry esteja em execução no registryhost do meu landomínio):

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

Isso faz com que algumas funcionalidades sejam interrompidas (ou seja, existem alguns plug-ins que não funcionarão se "registros inseguros" estiverem ativados).


Pergunta

Como posso configurar minha rede privada (ou seja, assumindo que ela nem esteja conectada à Internet na maior parte do tempo) para que todas as máquinas na rede "confiem totalmente" no certificado (ou seja, para que o certificado seja "confiável publicamente" entre os hosts em a rede local)?ou seja, qual comando posso executar ou arquivo de configuração posso ajustar?

Esta parece ser uma solução possível: criar uma chave de servidor CA plus na minha rede privada.

Obrigado.

Responder1

Não é suficiente adicionar seu certificado ao /usr/local/share/ca-certificates. Você precisa ter certeza de que leu chmod para outros e também adicionar seu caminho relativo em /usr/local/share/ca-certificates.

Digamos que seu certificado seja/usr/local/share/ca-certificates/self-signed/yourcert.crt

Você deveria editar/etc/ca-certificates.conf

editor sudo /etc/ca-certificates.conf

e adicione seu caminho relativo, relativo a /usr/local/share/ca-certificates/para ser exato.

Então deveria ser algo como:

autoassinado/seucert.crt

Então corra

sudo update-ca-certificados

Você deverá ver 1 certificado adicionado na saída do comando acima.

Tenha em mente que este certificado será confiável apenas neste host específico. Você também precisa implantá-lo em seus contêineres do Docker se quiser que ele seja confiável internamente.

informação relacionada