Я настроил NGINX в качестве прокси перед реестром докера.Реестр использует tls для аутентификации пользователей (и настроен правильно; я могу получить изображения внутри кластера с помощью сертификата).Nginx настроен так:
server {
listen 443;
server_name default_server;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
if ($remote_addr != xxx) {
return 403;
break;
}
proxy_set_header Host $host;
proxy_pass https://xxx:xxx;
break;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Теперь, когда я пытаюсь свернуться с действительным сертификатом, подобным этому:
curl -v --key client.key --cert client.cert xxx:xxx/v2/_catalog
Я получаю ошибку http: TLS handshake error from xxx:xxx: tls: client didn't provide a certificate
в журналах реестра докера,Правильно ли настроен nginx или его нет?Любые идеи о том, как отладить это дальше?
Состояние журналов NGINX:
[error] 8#8: *65 SSL_do_handshake() failed (SSL: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:SSL alert number 42) while SSL handshaking to upstream,