Behat を https で保護されたプロジェクトに持ち込もうとしていますが、curl リクエストの開始時にミンクが失敗します。
Scenario: Loggin in # features/debt.feature:6
Given I am on "/" # FeatureContext::visit()
[curl] 51: SSL: certificate subject name 'ubuntu' does not match target host name 'wizard' [url] https://wizard/admin/dev.php/ [info] array (
'url' => 'https://wizard/admin/dev.php/',
'content_type' => NULL,
'http_code' => 0,
'header_size' => 0,
'request_size' => 0,
'filetime' => -1,
'ssl_verify_result' => 1,
'redirect_count' => 0,
'total_time' => 0.061943,
'namelookup_time' => 0.000234,
'connect_time' => 0.000344,
'pretransfer_time' => 0,
'size_upload' => 0,
'size_download' => 0,
'speed_download' => 0,
'speed_upload' => 0,
'download_content_length' => -1,
'upload_content_length' => -1,
'starttransfer_time' => 0,
'redirect_time' => 0,
'certinfo' =>
array (
),
) [debug] * About to connect() to wizard port 443 (#0)
* Trying 127.0.0.1... * connected
* Connected to wizard (127.0.0.1) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
* subject: CN=ubuntu
* start date: 2011-05-23 08:26:04 GMT
* expire date: 2021-05-20 08:26:04 GMT
* SSL: certificate subject name 'ubuntu' does not match target host name 'wizard'
* Closing connection #0
この問題は、次の 2 つの curl パラメータを設定することで解決できます。
CURLOPT_SSL_VERIFYPEER = false
CURLOPT_CERTINFO = false
Mink が内部的に guzzle を使用していることは知っています。これにより、curl リクエストが開始されます。curl オプションを使用して guzzle クライアントを正しくインスタンス化するにはどうすればよいですか?