Совсем недавно мой сервер перестает работать на запросы curl на https://адреса для моего веб-сервера. Немного выкопавшись, кажется, что проблема с пользователем работает в веб-сервере.
Если я нахожу SSH на сервере как root и вызываю
curl -I -v https://google.com
... Я получаю следующий ответ...
* About to connect() to google.com port 443 (#0)
* Trying 173.194.67.113... connected
* Connected to google.com (173.194.67.113) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* SSL connection using SSL_RSA_WITH_RC4_128_SHA
* Server certificate:
* subject: CN=*.google.com,O=Google Inc,L=Mountain View,ST=California,C=US
* start date: May 22 15:50:20 2013 GMT
* expire date: Oct 31 23:59:59 2013 GMT
* common name: *.google.com
* issuer: CN=Google Internet Authority,O=Google Inc,C=US
> HEAD / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: google.com
> Accept: */*
Однако, если я вхожу в систему как любую из учетных записей cPanel (также используемую при работе через веб-сервер), я получаю следующее...
* About to connect() to google.com port 443 (#0)
* Trying 173.194.67.101... connected
* Connected to google.com (173.194.67.101) port 443 (#0)
* Initializing NSS with certpath: none
* NSS error -5978
* Closing connection #0
* Problem with the SSL CA cert (path? access rights?)
curl: (77) Problem with the SSL CA cert (path? access rights?)
Я не смог найти окончательный ответ на эту проблему, и моя хостинговая компания отказывается помочь, поскольку это "вне поддержки", хотя на прошлой неделе она отлично работала!
Я нашел упоминание в http://curl.haxx.se/docs/sslcerts.html, что
"Если libcurl был создан с поддержкой NSS, то в зависимости от дистрибутива ОС, вероятно, потребуется предпринять некоторые дополнительные шаги для использования общесистемного ЦС cert db. RedHat поставляется с дополнительным модулем libnsspem.so, который позволяет NSS для чтения пакета OpenSSL PEM CA. Эта библиотека отсутствует в OpenSuSE, и без него NSS может работать только со своими внутренними форматами. NSS также имеет новую формат базы данных: https://wiki.mozilla.org/NSS_Shared_DB"
... но я не могу найти никакой информации о том, как я получаю эту работу в масштабе всей системы на моем сервере CentOS.
Информация
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
Может кто-нибудь пролить свет на то, почему это могло внезапно измениться, или еще лучше, как это исправить?
Спасибо