В данный момент пытаюсь включить TLS на docker изображении локально. Я использую шлюз S3 для включения доступа S3 через. minio.
Работа с windows коробка. Выполнил следующие команды для создания public.crtt
в C:\Users\<user>/mnt/config/certs
openssl genrsa -out root.key 2048
openssl rsa -in root.key -out private.key
openssl req -new -x509 -days 3650 -key private.key -out public.crt -subj '//C=Rohan\ST=MiddleEarth\L=Minas Tirith\O=ABC\CN=172.17.0.2'
Ниже приведено содержимое C:\Users\<user>\mnt\config\certs
-rw-r--r-- 1 user 1049089 1675 Jan 9 12:12 root.key
-rw-r--r-- 1 user 1049089 1675 Jan 9 12:14 private.key
-rw-r--r-- 1 user 1049089 1289 Jan 9 12:14 public.crt
drwxr-xr-x 1 user 1049089 0 Jan 9 16:24 CAs/
После этого я запустил -
docker run -p 9000:9000 --name minio-s3 -e "MINIO_ACCESS_KEY=<ACCESS_KEY>" -e "MINIO_SECRET_KEY=<SECRET_KEY>" -v C:\Users\<user>\mnt\config:/root/.minio minio/minio gateway s3
Подтвердил, что docker изображение имеет private.key
и public.crt
, локализованные в ${HOME}/.minio/certs
Я заметил, что появляется docker изображение, также папка CAs
пуста.
Я не могу получить доступ к https://172.17.0.2:9000
из браузера или из кода, использующего minio java sdk.
$ curl https://172.17.0.2:9000
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:20 --:--:-- 0curl: (7) Failed to connect to 172.17.0.2 port 9000: Timed out
Также я получаю эту ошибку на консоли -
2020/01/09 20:16:33 http: TLS handshake error from 172.17.0.1:44402: remote error: tls: unknown certificate
2020/01/09 20:16:33 http: TLS handshake error from 172.17.0.1:44404: remote error: tls: unknown certificate
2020/01/09 20:16:53 http: TLS handshake error from 172.17.0.1:44406: remote error: tls: unknown certificate
2020/01/09 20:16:53 http: TLS handshake error from 172.17.0.1:44408: remote error: tls: unknown certificate
Когда я пытаюсь получить доступ к https://127.0.0.0:9000
из браузера, он работает, но это не https, а просто http.
Вызов https://127.0.0.1:9000
из java Код возвращает исключение -
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Попытка сгенерировать сертификат для локального образа для начала, после чего я расширю его до сертификата компании, как только это сработает.
Любая помощь будет оценена. Спасибо.