我正在使用两台服务器;一个本地主机在网络上。两者都是http;我没有安装SSL证书。
当我尝试向https网址发送Curl请求时(在这种情况下是Facebook API),其中一台服务器正常运行而另一台服务器无法运行。 CURL错误是" SSL证书问题:无法获得本地颁发者证书。"经过调查,我注意到f3
在两台服务器上输出了不同的内容。
服务器1,与CURL一起使用到https
$ _ SERVER [" SERVER_SOFTWARE"] = Apache / 2.4.10(Win32)OpenSSL / 1.0.1i PHP / 5.6.3
服务器2,不使用CURL进行https
$ _ SERVER [" SERVER_SOFTWARE"] = Apache
我猜测第二台服务器没有提到OpenSSL的事实可能与错误有关?那可能吗?在该服务器上获取OpenSSL需要做什么?为什么第一台服务器能够找到颁发者证书"当我没有安装SSL证书时?
答案 0 :(得分:1)
由于您正在向外部服务器发出curl请求,因此问题与您在本地运行的Web服务器软件完全无关,即您甚至根本不需要运行本地Web服务器。它只取决于外部服务器发送回curl的证书以及是否可以在curl的信任存储中找到必要的根CA.