从具有证书(ssl)的域,LOCALHOST和域http://的域将数据插入Firebase时,我遇到问题,但是从一个https://不能运行。

这是在调试中得出的(我正在使用CakePhpv2)


  错误:[SocketException] stream_socket_client():对等证书
  CN = firebaseio.com' did not match expected CN= xxxxxx.firebaseio.com'
  stream_socket_client():无法启用加密
  stream_socket_client():无法连接到ssl://uxxxxxxxx.com:443
  (未知错误)

最佳答案

向SSL服务发出请求时,HttpSocket将尝试使用对等验证来验证SSL证书。如果证书未通过对等验证或与正在访问的主机名不匹配,则连接将失败,并会引发异常。默认情况下,HttpSocket将使用mozilla证书颁发机构文件来验证SSL证书。您可以使用以下选项来配置如何处理SSL证书:


ssl_verify_peer设置为false可禁用SSL验证。这不是
推荐的。
ssl_verify_host如果希望忽略,则设置为false
验证证书时,主机名匹配错误。
ssl_allow_self_signed设置为true以启用自签名证书
被接受。这要求启用ssl_verify_peer。
ssl_cafile设置为证书颁发机构文件的绝对路径
您希望用于验证SSL证书的证书。

$ socket = new HttpSocket(array(
    'ssl_verify_host'=>否
));


CakePHP HttpSocket Handling SSL certificates

关于php - CakePhp v2无法使用具有SSL证书的域连接到Firebase,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46714529/

10-11 21:54
查看更多