Используйте Maven и Docker + Nexus 3 за NGinx с HTTPS

Я создал сертификаты для моего клиента docker и deamon, следуя рекомендациям Docker: https://docs.docker.com/engine/security/https/#create-a-ca-server-and-client-keys-with-openssl

Но… Я использую Sonatype Nexus 3 в качестве личного реестра docker.

И у меня есть фронтальный NGinX.

Я хотел бы настроить NGinx с самозаверяющим сертификатом, чтобы иметь возможность использовать Nexus в качестве реестра.

В основном, у меня есть эта настройка для NGinx:

    ssl_certificate                 /home/AAA/certificates/adgroupe.priv/server-cert.pem;
    ssl_certificate_key             /home/AAA/certificates/adgroupe.priv/server-key.pem;
    ssl_protocols                   SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers                     RC4:HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers       on;

2 сертификата, созданные с помощью документации Docker (ссылка выше).

Я тогда могу добавить с keytool мой сервер.сертификат к моему хранилищу ключей, но как я могу заставить Maven и Docker доверять этому сертификату? Я имею в виду, никто не доверяет моему CA, так как я создал его сам…

1 ответ

  1. Я на основе операционной системы Debian, и я сделал это таким образом.
    На вашем клиенте и сервере, вы просто должны взять файл сертификата и добавить его в ca-сертификаты.

    root@test:~/certs mkdir /usr/share/ca-certificates/myRegistry.example.com
    root@test:~/certs cp certificate.crt /usr/share/ca-certificates/myRegistry.example.com/
    root@test:~/certs echo "myRegistry.example.com/certificate.crt" >> /etc/ca-certificates.conf
    root@test:~/certs update-ca-certificates
    Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d....done.
    # restart docker to refresh trusted CA
    root@test:~/certs systemctl restart docker
    

    Вы сможете только доступ с общим именем, которое вы дали ему (для меня это ): myRegistry.example.com.
    Потому что я указал его при создании сертификата

    Common Name (e.g. server FQDN or YOUR name) []:myRegistry.example.com 
    

    надеюсь, это поможет