什么是Apache的OpenSSL以及为什么一台服务器拥有它而另一台服务器没有

时间:2015-08-31 14:41:39

标签: apache ssl curl https openssl

我正在使用两台服务器;一个本地主机在网络上。两者都是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证书时?

1 个答案:

答案 0 :(得分:1)

由于您正在向外部服务器发出curl请求,因此问题与您在本地运行的Web服务器软件完全无关,即您甚至根本不需要运行本地Web服务器。它只取决于外部服务器发送回curl的证书以及是否可以在curl的信任存储中找到必要的根CA.