Я пытаюсь связаться с URL через команду php stream_socket_client(), которая не работает без кода ошибки или сообщения. Использует ли это openssl, curl или что-то еще? Сайт использует https и отлично работает из веб-браузера.
Когда я вызываю openssl напрямую, он подключается, но, похоже, несовместим с моей цепочкой сертификатов.
root@drupal7 drupal7/includes# openssl s_client -connect test.cgps.org:443
CONNECTED(00000003)
Verify return code: 21 (unable to verify the first certificate)
То же самое с завитком
curl https://test.cgps.org/?q=/admin/config/search/clean-urls/check
curl: (60) SSL certificate problem: unable to get local issuer certificate
Поэтому я решил, что мне нужно установить промежуточный сертификат в Linux, что я и сделал, поместив тот же промежуточный сертификат, который использует Apache, в /usr/local/share/ca-certificates и запустив update-ca-certificates.
root@drupal7 drupal7/includes# update-ca-certificates
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.
По-прежнему безуспешно...