#docker #ssl #curl
#docker #ssl #curl
Вопрос:
Как мне загрузить сертификат (и автоматически обновить его) в контейнере Docker?
Внутри моего контейнера Docker, который был основан на Alpine, я делаю следующее:
curl -I https://gtp.nlgworldwide.com
Но я получаю эту ошибку:
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Я полагаю, мне нужно сделать что-то подобное в моем Dockerfile
:
RUN curl -s -O https://curl.haxx.se/ca/cacert.pem amp;amp; mv cacert.pem /usr/local/share/ca-certificates amp;amp; update-ca-certificates
Но я все еще не могу подключиться к вышеупомянутому веб-сайту, так как же мне убедиться, что я получу правильный корневой сертификат CA для этого веб-сайта?
Комментарии:
1. Я имел в виду
https://curl.haxx.se/ca/cacert.pem
— я обновил его2. Обновил его снова, чтобы заменить
wget
вызов наcurl
, но проблема, похоже, связана с тем, что один из корневых сертификатов CA COMODO TLS не добавляется в хранилище сертификатов.
Ответ №1:
Этот HTTPS-сайт тоже вызывает проблемы у меня, используя обновленное хранилище CA.
Проблема в том, что промежуточный сертификат COMODO не предоставляется сервером, что является неправильной конфигурацией сервера.
Вы можете исправить это, если хотите, вручную загрузив отсутствующий сертификат и добавив его в хранилище CA.
Комментарии:
1. Спасибо, Даниэль, я могу подтвердить, что загрузка сертификата с support.comodo.com/index.php?/Knowledgebase/Article/View/970 /… и перемещаем файл в /usr/local/share/ca-certificates/. directory, затем запускаем: «update-ca-certificates» работает для меня.
2. Я также сообщил разработчикам веб-сайта, чтобы они проконсультировались с администратором своего сервера, чтобы исправить конфигурацию их настройки SSL, но поскольку я не уверен, сколько времени это займет, мои команды запуска / копирования Dockerfile должны работать в то же время. Еще раз спасибо!