301 已移动

301 已移动

当我尝试 curl 服务器时出现以下错误:

curl -u User:Pass 'https://mydomain/remote.php/dav/files/User/Folder' -X PROPFIND --data '<?xml version="1.0" encoding="UTF-8"?>'

错误如下:

curl:(60)无法识别 Peer 的证书颁发者。更多详细信息请参见:http://curl.haxx.se/docs/sslcerts.html

curl 默认使用证书颁发机构 (CA) 公钥 (CA 证书)“捆绑包”执行 SSL 证书验证。如果默认捆绑包文件不够用,您可以使用 --cacert 选项指定备用文件。如果此 HTTPS 服务器使用捆绑包中代表的 CA 签名的证书,证书验证可能由于证书问题而失败(证书可能已过期,或者名称可能与 URL 中的域名不匹配)。如果您想关闭 curl 的证书验证,请使用 -k(或 --insecure)选项。

当我这样做时,curl -v google.com它工作正常:

  • 即将连接()到 google.com 端口 80 (#0)
  • 正在尝试 2a00:1450:4007:815::200e...
  • 已连接到 google.com (2a00:1450:4007:815::200e) 端口 80 (#0) GET / HTTP/1.1 用户代理:curl/7.29.0 主机:google.com 接受:/ < HTTP/1.1 301 永久移动 < 位置:http://www.google.com/< 内容类型:text/html;字符集=UTF-8 < 日期:2020 年 7 月 2 日星期四 07:41:54 GMT < 到期时间:2020 年 8 月 1 日星期六 07:41:54 GMT < 缓存控制:public,max-age=2592000 < 服务器:gws < 内容长度:219 < X-XSS-Protection:0 < X-Frame-Options:SAMEORIGIN <
301 已移动

301 已移动

文档已移动这里. * 与主机 google.com 的连接 #0 保持完好

我试过 :

  • yum reinstall ca-certificates

  • curl --remote-name --time-cond cacert.pem https://curl.haxx.se/ca/cacert.pem
  • mv cacert.pem /etc/ssl/certs/
  • 添加curl.cainfo="/etc/ssl/certs/cacert.pem"到 php.ini
  • 重启 nginx

  • yum install ca-certificates
  • update-ca-trust force-enable
  • 重启 nginx
  • cp /etc/ssl/certs/cacert.pem /etc/pki/ca-trust/source/anchors/
  • mv /etc/pki/ca-trust/source/anchors/cacert.pem /etc/pki/ca-trust/source/anchors/cert.pem
  • 重启 nginx

都没有起作用

相关内容