什么是 Apache 的 OpenSSL 以及为什么一台服务器有它而另一台没有
What is Apache's OpenSSL and why does one server have it but another not
我正在使用两台服务器;一个本地主机一个在网络上。两者都是http;我也没有安装 SSL 证书。
当我尝试向 https url(在本例中为 Facebook API)发出 Curl 请求时,其中一个服务器工作,另一个不工作't。 CURL 错误是 "SSL certificate problem: unable to get local issuer certificate." 经过调查,我注意到 $_SERVER["SERVER_SOFTWARE"]
在两个服务器上输出不同的东西。
服务器 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 证书时,为什么第一台服务器能够 "find issuer certificate"?
由于您正在使用 curl 向外部服务器发出请求,因此问题与您在本地 运行 的 Web 服务器软件完全无关,即您甚至不需要 运行一个本地网络服务器。它只取决于外部服务器发回给 curl 的证书,以及是否可以在 curl 的信任库中找到必要的根 CA。
我正在使用两台服务器;一个本地主机一个在网络上。两者都是http;我也没有安装 SSL 证书。
当我尝试向 https url(在本例中为 Facebook API)发出 Curl 请求时,其中一个服务器工作,另一个不工作't。 CURL 错误是 "SSL certificate problem: unable to get local issuer certificate." 经过调查,我注意到 $_SERVER["SERVER_SOFTWARE"]
在两个服务器上输出不同的东西。
服务器 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 证书时,为什么第一台服务器能够 "find issuer certificate"?
由于您正在使用 curl 向外部服务器发出请求,因此问题与您在本地 运行 的 Web 服务器软件完全无关,即您甚至不需要 运行一个本地网络服务器。它只取决于外部服务器发回给 curl 的证书,以及是否可以在 curl 的信任库中找到必要的根 CA。