Я запускаю ddev под wsl2. Я за прокси zscaler. Мне удалось скопировать сертификат zscaler в ubuntu «/usr/local/share/ca-certificates» и запустить «sudo update-ca-certificates». После этого я смог установить homebrew и ddev. Однако, когда я создал сайт drupal 9 и использовал команду "ddev composer create "drupal/recommended-project" --no-install", это дало мне «ubuntu curl: (60) проблема с сертификатом ssl: самозаверяющий сертификат в цепочке сертификатов». Я также попытался скопировать сертификат zscaler в веб-контейнер, но все равно получил ту же проблему. Как мне обойти эту проблему?
Это проблема, которую вам и вашему ИТ-отделу придется решать. Я предполагаю, что у вас есть не только прокси-сервер, но и используемая вами VPN, которая, вероятно, выполняет глубокую проверку пакетов и имеет заменяющий ЦС для доверенного ЦС, который использует остальная часть Интернета.
Если у вас не есть VPN, но только прокси, вам нужно правильно настроить докер для прокси, см. https://github.com/drud/ddev-contrib/tree/master/recipes/proxy, но, поскольку вы получаете ненадежные сертификаты, мне кажется, что происходит нечто большее, чем просто прокси.
Если ваш ИТ-отдел может предоставить вам замену crt CA, вы можете поместить его в .ddev/web-build и добавить .ddev/web-build/Dockerfile следующим образом:
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY <yourcert>*.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates --fresh
Я полагаю, у вас все будет хорошо, если вы в обычной сети. Если это возможно, подключите свою машину к обычной сети без прокси или VPN и посмотрите, все ли работает. Затем вернитесь оттуда.
Я смог сделать это хорошо на моем персональном компьютере. У меня нет проблем с настройкой ddev на моем персональном компьютере.
ddev в моей корпоративной сети — другая история. Первоначально я не смог установить доморощенный, так как он не работал с curl ssl, но я смог понять это и установил прокси-сертификат zscaler в Ubuntu. После этого я смог установить homebrew, а затем ddev. Но теперь следующим шагом будет использование ddev для настройки проекта drupal 9. Снова произошел сбой curl ssl, так как команда "ddev composer create ...." curl to github из веб-контейнера для захвата шаблона drupal. Итак, я попробовал то, что вы упомянули выше в отношении Dockerfile, где я заменил <yourcert> сертификатом zscaler, но все равно потерпел неудачу.
Я вернулся в свой ЦС в Windows и нашел еще один сертификат под названием «certadmin». Мне удалось скопировать этот сертификат в папку веб-сборки и обновить Dockerfile, и теперь все работает.
Спасибо, пожалуйста, добавьте ответ, который полностью описывает ваше решение!
Экспорт сертификатов прокси-сервера zscaler и certadmin из доверенного ЦС Windows в формат .CER в моей сетевой среде.
Используйте OpenSSl и преобразуйте их из формата .CER в формат .CRT.
Скопируйте эти файлы в папку /usr/local/share/ca-certificates в Ubuntu.
sudo cp /mnt/c/certificates/zscaler.crt /mnt/c/certificates/certadmin.crt /usr/local/share/ca-certificates
Бежать
sudo update-ca-certificates
Следуйте инструкциям на сайте документации DDEV, чтобы установить Homebrew, gcc, ddev и xdg-utils.
Снова следуйте инструкциям на сайте документации DDEV, чтобы настроить проект drupal 9.
Перед выполнением шага: ddev start
скопируйте сертификаты из шага №3 в мою папку sampleprojectfolder/.ddev/web-build.
cd /home/kevin/my-drupal9-site/.ddev/web-build && sudo cp /mnt/c/certificates/zscaler.crt /mnt/c/certificates/certadmin.crt .
Находясь cd
в папке веб-сборки, скопируйте из нее образец файла докера и назовите его «Dockerfile».
cp Dockerfile.example Dockerfile
Измените содержимое Dockerfile nano Dockerfile
следующим образом, чтобы при создании контейнеров ddev также загружал сертификаты в веб-контейнер.
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY *.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates --fresh
Бежать
ddev start
Выполните остальные шаги, чтобы создать проект drupal 9 из документации DDEV.
Я уже сделал это, но это не работает.