Я пытаюсь получить PHP-скрипт для доступа к Puppet API. Я потратил 2 дня на поиски и не могу поверить, что не могу найти какую-либо информацию (только марионеточные модули для установки PHP).
Я просто пытаюсь использовать PHP и curl, но я не могу получить какой-либо ответ, ошибку или что-то еще. Вот моя (очень простая) попытка получить сертификат от мастера кукол:
function get_data($url) {
$request_headers = array();
$request_headers[] = 'Accept: s';
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$response = get_data('https://<puppet master>:8140/production/certificate/ca');
Все, что я пытаюсь повторить, это вызов curl, который работает с моего сервера:
curl -k -H "Accept: s" https://<puppet master>:8140/production/certificate/ca
У меня есть ощущение, что, возможно, что-то очевидное мне не хватает, но я не могу этого понять.
Спасибо Вриккену и Глену за то, что помог мне. Как только я правильно установил параметры curl_setopt, он работает как положено.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_CAINFO, "/path/to/cacert.pem");
Других решений пока нет …