Применить корневые сертификаты CA внутри Dockerfile

#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.

Тест SSL Labs подтверждает это.

Комментарии:

1. Спасибо, Даниэль, я могу подтвердить, что загрузка сертификата с support.comodo.com/index.php?/Knowledgebase/Article/View/970 /… и перемещаем файл в /usr/local/share/ca-certificates/. directory, затем запускаем: «update-ca-certificates» работает для меня.

2. Я также сообщил разработчикам веб-сайта, чтобы они проконсультировались с администратором своего сервера, чтобы исправить конфигурацию их настройки SSL, но поскольку я не уверен, сколько времени это займет, мои команды запуска / копирования Dockerfile должны работать в то же время. Еще раз спасибо!