cURL抱怨本地SSL https请求

时间:2018-01-10 13:26:16

标签: php ssl curl https

我在Digital Ocean上有一台Ubuntu LAMP服务器,并设置了一个SSL证书(工作正常)。该网站通过https运行(http请求被重定向到https)。在我的一个PHP脚本中,我必须向本地服务器发送cURL请求。我基本上发送一个带有JSON数据的POST请求,这些数据将用于在另一端模板文档。简而言之,两端都托管在同一个站点:

  • https://example.com/form.php
  • https://example.com/templates/document.php

form.phptemplates/document.php发送数据时收到的cURL错误是:

  

SSL证书问题:无法获得本地颁发者证书

我已阅读至少20篇文章,告诉我将这些行添加到php.ini的原始行位置:

  • curl.cainfo="/etc/ssl/certs/cacert.pem"
  • openssl.cafile="/etc/ssl/certs/cacert.pem"

CA证书的位置如上所述,但cURL错误仍然存​​在。

我可以通过在cURL请求中强制CURLOPT_SSL_VERIFYPEERfalse来绕过此错误。但是,我知道这不是生产模式下网站的选项。

是否无法对自己的主机执行此类SSL cURL请求?或者它是否可以为这个非常具体的请求实际禁用CURLOPT_SSL_VERIFYPEER,因为它只是一个本地请求?

提前谢谢!

编辑:

向cURL请求添加详细选项会显示以下信息:

  
      
  • 尝试123.456.789.01 ...
  •   
  • 连接到example.com(123.456.789.01)端口443(#0)
  •   
  • ALPN,提供http / 1.1
  •   
  • 密码选择:ALL:!导出:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
  •   
  • 成功设置证书验证位置:
  •   
  • CAfile:/etc/ssl/certs/cacert.pem CApath:/ etc / ssl / certs
  •   
  • SSL证书问题:无法获取本地颁发者证书
  •   
  • 关闭连接0
  •   

但它似乎没有任何帮助。

0 个答案:

没有答案