PHP App Engine开发环境并不尊重verify_peer

时间:2016-05-13 05:56:47

标签: php google-app-engine file-get-contents google-app-engine-php

SDK版本:" 1.9.37",时间戳:1460570478 OSX 10.11.4 Python 2.7.10

在开发环境中使用file_get_contents()连接到具有自签名证书的服务器时 - 我们已经开始收到以下错误。

我们没有必要在这些条件下工作一段时间,所以不确定何时引入了这个错误。

file_get_contents(https://10.10.10.10:10000/script): failed to open stream: SSL certificate error - certificate invalid or non-existent, [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

例如:

<?php

//$url = 'https://mockbin.org/bin/5b867989-b414-4d75-97db-10f346893574';
$url = 'https://a.public.server:10000';

$context = [ 'http' => [ 'method' => 'GET' ], 'ssl' => [ 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed'=> true ] ];
$context = stream_context_create($context);
$resp = file_get_contents($url, false, $context);

echo $resp;

代码在部署时有效,它只是尝试在本地开发和测试我们得到的问题。

我们将 verify_peer verify_peer_name 都设置为 false - 如上所述,这适用于App Engine,但不适用于开发环境。

使用mockbin我们得到一个无关的错误 - 它只是在那里进行测试。

0 个答案:

没有答案