本地主机上的Behat cURL SSL证书错误

本地主机上的Behat cURL SSL证书错误,ssl,curl,behat,Ssl,Curl,Behat,我尝试在本地开发环境(Ubuntu14.04 LTS、Apache2、php-5.6.17)中使用Behat测试Drupal站点的功能,但我总是遇到SSL证书问题(因为如果您与任何用户登录,该站点会从http切换到https)。使用匿名用户测试功能可以正常工作,因为它只需要http连接 需要测试的网站不是我的,我只需要测试其中的一些功能。为了能够在本地主机中使用该站点(能够使用https连接登录),我为该站点创建了一个具有SSL属性的虚拟主机。与前面描述的类似,但我使用自己的虚拟主机文件,而不是

我尝试在本地开发环境(Ubuntu14.04 LTS、Apache2、php-5.6.17)中使用Behat测试Drupal站点的功能,但我总是遇到SSL证书问题(因为如果您与任何用户登录,该站点会从http切换到https)。使用匿名用户测试功能可以正常工作,因为它只需要http连接

需要测试的网站不是我的,我只需要测试其中的一些功能。为了能够在本地主机中使用该站点(能够使用https连接登录),我为该站点创建了一个具有SSL属性的虚拟主机。与前面描述的类似,但我使用自己的虚拟主机文件,而不是default-ssl.conf。我生成了自我签名的SSL证书相关文件,如上面链接的文章所述

我将该站点的Behat设置为独立安装(使用Composer),并且在我的Behat.yml文件中,我已经尝试了以下Gout配置,但没有成功:

extensions:
  Behat\MinkExtension:
    goutte:
      guzzle_parameters:
        verify: false
在测试期间,我总是收到相同的错误消息:

cURL错误60:SSL证书问题:自签名证书(请参阅)(GuzzleHttp\Exception\RequestException)


有什么问题,我怎么能忽略SSL检查?

该错误意味着您通过HTTPS连接到的主机名使用的是证书,而不是由可信机构颁发的证书

如果您正在连接到生产网站,这表明目标网站出现问题,可能代表潜在的安全问题。相反,如果目标目标是已知的(例如,您设置了该主机名),并且可以保证其真实性,则可以忽略该错误


通常,您不应允许不受信任的HTTPS连接。

此错误表示您通过HTTPS连接到的主机名使用的是证书,而不是由受信任的机构颁发的证书

如果您正在连接到生产网站,这表明目标网站出现问题,可能代表潜在的安全问题。相反,如果目标目标是已知的(例如,您设置了该主机名),并且可以保证其真实性,则可以忽略该错误


一般来说,您不应该允许不受信任的HTTPS连接。

好的,谢谢您的回答。我的想法是为本地主机和生产测试创建不同的行为配置文件或配置。这样,localhost相关的概要文件将忽略SSL检查,仅此而已。这不会影响生产测试。这就是我想做的。你是如何为你的本地机器解决这个问题的?我也遇到了同样的问题。过了一段时间,Drupal站点使用了该模块,我只是简单地用以下命令关闭了securepages\u enable设置:
drush vset securepages\u enable 0
,所以在测试期间基本上我将站点的连接改为HTTP而不是HTTPS。好的,谢谢您的回答。我的想法是为本地主机和生产测试创建不同的行为配置文件或配置。这样,localhost相关的概要文件将忽略SSL检查,仅此而已。这不会影响生产测试。这就是我想做的。你是如何为你的本地机器解决这个问题的?我也遇到了同样的问题。过了一段时间,Drupal站点使用了该模块,我只是简单地用以下命令关闭了securepages\u enable设置:
drush vset securepages\u enable 0
,所以在测试过程中基本上我将站点连接改为HTTP而不是HTTPS。