公司网络:`ddev composer create` 结果 "ssl certificate error"
Corporate network: `ddev composer create` results in "ssl certificate error"
我是 运行 wsl2 下的 ddev。我在 zscaler 代理后面。我能够将 zscaler 证书复制到 ubuntu“/usr/local/share/ca-certificates”和 运行“sudo update-ca-certificates”。之后我能够安装自制软件和 ddev。
但是,当我创建 drupal 9 站点并使用命令时
"ddev composer create "drupal/recommended-project" --no-install",
它给了我“ubuntu curl: (60) ssl 证书问题:证书链中的自签名证书”。我还尝试将 zscaler 证书复制到 Web 容器中,但仍然遇到同样的问题。我该如何规避这个问题?
这是您和您的 IT 部门必须解决的问题。我想您不仅有代理,而且您正在使用的 VPN 可能会进行深度数据包检查,并且有一个替代 CA 来替代互联网其余部分使用的受信任 CA。
如果您没有 VPN,只有代理,那么您需要为代理正确配置docker,请参阅https://github.com/drud/ddev-contrib/tree/master/recipes/proxy - 但由于您获得的是不受信任的证书,所以在我看来,除了代理之外还有更多的事情要做。
如果您的 IT 部门可以为您提供替换 CA crt,您可以将其放入 .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
在我的网络环境中将代理 zscaler 和 certadmin 证书从 Windows 受信任的 CA 导出为 .CER 格式。
使用 OpenSSl 并将它们从 .CER 格式转换为 .CRT 格式。
- openssl x509 -inform DER -in zscaler.cer -out zscaler.crt
- openssl x509 -inform DER -in certadmin.cer -out certadmin.crt
将这些文件复制到 ubuntu 中的 /usr/local/share/ca-certificates 文件夹。
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
进入 web-build 文件夹时,从中复制示例 docker 文件并将其命名为“Dockerfile”。
cp Dockerfile.example Dockerfile
如下修改 Dockerfile nano Dockerfile
的内容,这样当 ddev 创建容器时,它也会将证书拉入 Web 容器。
ARG BASE_IMAGE
FROM $BASE_IMAGE
COPY *.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates --fresh
运行
ddev start
按照其余步骤从 DDEV 文档创建 drupal 9 项目。
我是 运行 wsl2 下的 ddev。我在 zscaler 代理后面。我能够将 zscaler 证书复制到 ubuntu“/usr/local/share/ca-certificates”和 运行“sudo update-ca-certificates”。之后我能够安装自制软件和 ddev。 但是,当我创建 drupal 9 站点并使用命令时 "ddev composer create "drupal/recommended-project" --no-install", 它给了我“ubuntu curl: (60) ssl 证书问题:证书链中的自签名证书”。我还尝试将 zscaler 证书复制到 Web 容器中,但仍然遇到同样的问题。我该如何规避这个问题?
这是您和您的 IT 部门必须解决的问题。我想您不仅有代理,而且您正在使用的 VPN 可能会进行深度数据包检查,并且有一个替代 CA 来替代互联网其余部分使用的受信任 CA。
如果您没有 VPN,只有代理,那么您需要为代理正确配置docker,请参阅https://github.com/drud/ddev-contrib/tree/master/recipes/proxy - 但由于您获得的是不受信任的证书,所以在我看来,除了代理之外还有更多的事情要做。
如果您的 IT 部门可以为您提供替换 CA crt,您可以将其放入 .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
在我的网络环境中将代理 zscaler 和 certadmin 证书从 Windows 受信任的 CA 导出为 .CER 格式。
使用 OpenSSl 并将它们从 .CER 格式转换为 .CRT 格式。
- openssl x509 -inform DER -in zscaler.cer -out zscaler.crt
- openssl x509 -inform DER -in certadmin.cer -out certadmin.crt
将这些文件复制到 ubuntu 中的 /usr/local/share/ca-certificates 文件夹。
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
进入 web-build 文件夹时,从中复制示例 docker 文件并将其命名为“Dockerfile”。cp Dockerfile.example Dockerfile
如下修改 Dockerfile
nano Dockerfile
的内容,这样当 ddev 创建容器时,它也会将证书拉入 Web 容器。ARG BASE_IMAGE FROM $BASE_IMAGE COPY *.crt /usr/local/share/ca-certificates/ RUN update-ca-certificates --fresh
运行
ddev start
按照其余步骤从 DDEV 文档创建 drupal 9 项目。