cURL 错误 60:SSL:没有替代证书主题名称与目标主机名匹配。项目间沟通

cURL error 60: SSL: no alternative certificate subject name matches target host name. Inter-project communication

所以我仍在使用 drush 和 ddev 将 Drupal 7 站点更新到 8。 在 运行 导入后,我收到 upgrade_d7_file 错误。 我尝试使用本文安装证书: https://www.ddev.com/ddev-local/ddev-local-trusted-https-certificates/

但是还是报错,有什么想法吗?

ddev exec drush migrate-import --all
ddev exec drush mmsg upgrade_d7_file

cURL error 60: SSL: no alternative certificate subject name matches target host name
'drupal7migration2.ddev.site'
(see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
(https://drupal7migration2.ddev.site//sites/default/files/Virtual%20Challenges%20%28Results%20and%2
0PBs%29%2020200709.xlsx)

当您希望一个 DDEV-Local 项目使用 https 与另一个项目通信时,客户端的 curl 必须信任您正在与之通信的服务器端。有两种方法可以做到这一点:

  1. (内置,无需更改):使用 ddev-<projectname>-web(容器名称)作为 URL 中的目标主机名。例如,在您的情况下,使用 curl https://ddev-drupal7migration2-web。此主机名已在各种 ddev 项目中受到信任。

  2. (需要 docker-compose.*.yaml):如果您想使用目标项目的真实完整 FQDN(在您的情况下为 https://drupal7migration2.ddev.site),那么您'需要将其作为 external_link 添加到 client 项目的 .ddev 中。所以在客户端(migration1?)项目中添加一个名为 .ddev/docker-compose.external_links.yaml 的文件,内容如下:

version: '3.6'
services:
  web:
    external_links:
    - "ddev-router:drupal7migration2.ddev.site"

这将告诉 Docker 将请求路由到“drupal7migration2.ddev.site”到 ddev 路由器,并且您的容器和 curl 信任它(它的证书列表中有该名称)。