1

我在生产系统上从 PHP 5.4 切换到 5.6(在共享主机提供商上运行)。我对特定网站的查询现在收到错误“stream_socket_client(): Peer certificate CN='(redacted).com' did not match expected CN='(redacted).com.au'”

网站所有者说他正在使用一个 Let's Encrypt 证书来覆盖多个域。

我的暂存系统(在 Synology NAS 上运行)也在运行 PHP 5.6,并且没有出现此错误。

我正在使用 HTTP_Request2 并尝试禁用验证,即:

   $query = new HTTP_Request2($url, HTTP_Request2::METHOD_GET,
      array('connect_timeout' => 2, 'timeout' => 4));
   $query->setConfig(array(
      'ssl_verify_peer'   => FALSE,
      'ssl_verify_host'   => FALSE,     
   ));

但是我仍然在生产系统上遇到错误。

在此应用程序中,安全性并不重要。我宁愿让我的代码容忍网站的证书,也不愿要求网站更改他们的证书(他们可能会拒绝这样做)。

我怎样才能使这项工作?

谢谢,

鲍勃

4

0 回答 0