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 我们会得到一个不相关的错误 - 它只是用于测试。