gpt4 book ai didi

php - 旧的 php 容器显示 : curl: (60) SSL certificate problem: certificate has expired

转载 作者:行者123 更新时间:2023-12-04 12:30:31 31 4
gpt4 key购买 nike

由于 1 或 2 天,我的旧 php 容器(dockerhub php:5.4-apache)不能再使用 curl 了。
这是在此容器内运行 curl 时的日志。

$> docker run --rm -ti php:5.6-apache bash
$> curl -X POST https://xxxxx.com
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
同样的调用适用于现代(更新)操作系统。

最佳答案

原因是操作系统的 cacerts 已过时
要更新它们,您需要执行以下操作

curl -k https://curl.se/ca/cacert.pem > cacert.pem
# works : curl --cacert cacert.pem -X POST https://xxxxx.com

apt-get install ca-certificates
openssl x509 -outform der -in cacert.pem -out cacert.crt
cp cacert.crt /usr/local/share/ca-certificates/
update-ca-certificates
其他选择:
sed -i 's/mozilla\/DST_Root_CA_X3.crt/!mozilla\/DST_Root_CA_X3.crt/g' /etc/ca-certificates.conf
update-ca-certificates
最佳选择(恕我直言):
apt-get update
apt-get upgrade -y

关于php - 旧的 php 容器显示 : curl: (60) SSL certificate problem: certificate has expired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69413090/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com