ZenLoadBalancer находится перед моими веб-серверами (Debian). Полосы балансировки нагрузки SSL. Это прекрасно работает в браузере. Однако при подключении через SOAP или Curl у меня возникла проблема.не может получить сертификат локального эмитента/SOAP-ERROR: Разбор WSDL: не удалось загрузить с
Я использовал локон тест от другого SO опубликовать, чтобы гарантировать, что проблема была с SSL:
$_h = curl_init();
curl_setopt($_h, CURLOPT_HEADER, 1);
curl_setopt($_h, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($_h, CURLOPT_HTTPGET, 1);
curl_setopt($_h, CURLOPT_URL, 'https://mydomain.ca/webservice/soap/server.php?wsdl');
curl_setopt($_h, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
curl_setopt($_h, CURLOPT_DNS_CACHE_TIMEOUT, 2);
//curl_setopt($_h, CURLOPT_SSL_VERIFYPEER, false);
var_dump(curl_exec($_h));
var_dump(curl_getinfo($_h));
var_dump(curl_error($_h));
Это возвращает:
string(63) "SSL certificate problem: unable to get local issuer certificate"
Если я раскомментировать CURLOPT_SSL_VERIFYPEER, я получаю XML обратно, как и ожидалось ,
Так вот реальная проблема ... когда я пытаюсь сделать SOAP вызов:
$soap=new SoapClient('https://mydomain.ca/webservice/soap/server.php?wsdl');
Это возвращает:
PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://mydomain.ca/webservice/soap/server.php?wsdl' : failed to load external entity "https://mydomain.ca/webservice/soap/server.php?wsdl"
Если я беру балансировки нагрузки из уравнения (и настроить ssl virtualhosts и т. д.), мыльная служба работает нормально. Единственное, когда я добавляю в балансировщик нагрузки, что получаю эту проблему.
У меня создается впечатление, что проблема в том, что проблема в том, что говорит от Curl. «Не удалось получить сертификат локального эмитента». Однако я попытался установить ca-сертификаты, указав файлы PEM и т. Д. И т. Д. но ничего не работает.
На веб-сервере, я могу:
openssl s_client -connect mydomain.ca:443
Это действительно возвращает сертификат.
Я подтвердил, что сервер прослушивает порты 443/8080/80 .. так что это должно быть хорошо (отключено iptables на всякий случай). Я проверил ports.conf, и все это слушает с этой целью.
Надеюсь, что кто-то из вас может помочь мне указать меня в другом направлении. B/c. Я не совсем уверен, что искать в bing/google на этом этапе. Любая помощь будет оценена по достоинству.
Спасибо.