Главная » Системы управления контентом » WordPress » Самоподписанные сертификаты, WP Multisite и cURL

📑 Самоподписанные сертификаты, WP Multisite и cURL

При использовании самоподписанных сертификатов в WordPress могут возникнуть некоторые легко устраняемые неприятности. Например — отказываться работать некоторые плагины, использующие cURL (вернее PHP libcurl), выдавая ошибки:

SSL certificate problem: self signed certificate

Такую-же ошибку выдает и сам WordPress, если в режиме MultiSite (MU) попробовать обновить сеть, а админка принудительно работает по https.

cURL дает более развернутое сообщение:

$ curl https://www.example.com
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
 
curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). The default
 bundle is named curl-ca-bundle.crt; you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

то-есть предлагает совсем отключить поддержку проверки сертификатов, что не хорошо.

Более цивилизованный метод — это руками внести свои сертификаты (на своем-же сервере) в разряд доверенных.

Правильные сертификаты в Ubuntu хранятся в директории /usr/share/ca-certificates. Копируем свой самоподписанный сертификат (например myselfcert.pem) туда:

sudo cp myselfcert.pem /usr/share/ca-certificates

Затем открываем любым редактором текста файл /etc/ca-certificates.conf:

sudo nano /etc/ca-certificates.conf

и в самый конец прописываем свой самоподписанный сертификат myselfcert.pem. Остается только обновить сертификаты:

$ sudo update-ca-certificates --fresh
Clearing symlinks in /etc/ssl/certs...done.
Updating certificates in /etc/ssl/certs....done.
Running hooks in /etc/ca-certificates/update.d....done.

и все должно работать.

 

 

При перепечатке просьба вставлять активные ссылки на oslogic.ru
Copyright oslogic.ru © 2024 . All Rights Reserved.