通过REST API在WooCommerce中创建产品时,出现错误:cURL错误60:SSL证书问题:证书已过期

时间:2021-10-09 作者:Astraport

一周前一切正常。让我们加密站点上的证书是否有效。我当前在创建产品时遇到以下错误:

{"code":"woocommerce_product_image_upload_error","message":"Error getting remote image https:\\/\\/mysite.com\\/wp-content\\/uploads\\/2021\\/10\\/60c739fd1-1.jpg. Error: cURL error 60: SSL certificate problem: certificate has expired","data":{"status":400}}
在这种情况下,可以通过URL获取图片。尝试了这些解决方案(https://wp-kama.com/note/error-making-request-wordpress[enter 此处链接说明]1) 但没有帮助。

2 个回复
SO网友:Astraport

在文件/etc/ca证书中。conf,你需要找到这行:

mozilla / DST_Root_CA_X3.crt
并将"E;日期开头的符号:

! mozilla / DST_Root_CA_X3.crt
接下来,需要运行命令:

sudo update-ca-certificates

SO网友:tomwj

这是一个单行线,可以添加到Dockerfile 具有RUN 或者只是在终点站跑步

# Fix Outdate Let\'s Encrypt cert
curl --silent --insecure https://letsencrypt.org/certs/isrgrootx1.pem >> /usr/local/share/ca-certificates/isrgrootx1.pem && \\
    sed -i \'s=mozilla/DST_Root_CA_X3.crt=!mozilla/DST_Root_CA_X3.crt=g\' /etc/ca-certificates.conf && \\
    update-ca-certificate
它不安全地撤销了最新的证书,因此存在风险。

这并没有解决我的问题,因为PHP使用的信任存储与系统范围的信任存储不同。

我们运行PHP的apache2实例位于Docker容器中。信任存储需要在apache2启动之前用脚本更新,因为它是在运行时创建的,覆盖了执行之前所做的任何更改。

将路径设置为true 应使用系统信任存储区,而不是自定义捆绑包。

# Pull updated CA cert bundle
CERT_PATH=/var/www/html/wp-includes/certificates
mkdir -p $CERT_PATH && curl --silent https://curl.se/ca/cacert.pem > $CERT_PATH/ca-bundle.crt 

相关推荐

SSL在某些页面上不起作用--出了什么问题?

我刚刚使用以下代码将SSL证书添加到Wordpress网站(.htaccess):# REDIRECT HTTP TO HTTPS RewriteCond %{HTTPS} !=on RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 然而,当我键入monersi时。在浏览器中,证书不起作用,但当我键入monersi时。pl,一切都很好。(monersi.pl是我的网站)我做错了什么?