Я настраиваю новый сервер веб-приложения под управлением Ubuntu 16.04. Единственная вещь, "необычная", я сделал, php 5.6 установки вместо php7. Php5.6 однако требует действительного корневого сертификата, и я получаю ошибки во множестве приложений та забота об этом. Завихрение, крон, и т.д.
Я попробовал множество мер для разрешения этого без улучшения. Такой как:
https://github.com/composer/composer/issues/3346#issuecomment-76593763
Как я устанавливаю корневой сертификат?
Все еще никакая удача. Задание крона, которое я выполняю все еще, генерирует:
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
Больше деталей здесь: http://curl.haxx.se/docs/sslcerts.html
завихрение выполняет проверку сертификата SSL по умолчанию, с помощью "пакета" открытых ключей Центра сертификации (CA) (сертификаты CA). Если файл пакета по умолчанию не соответствует, можно указать альтернативный файл с помощью - cacert опция.
Если этот сервер HTTPS использует сертификат, подписанный CA, представленным в пакете, проверка сертификата, вероятно, перестала работать из-за проблемы с сертификатом (это могло бы истечь, или имя не могло бы соответствовать доменному имени в URL).
Если требуется выключить проверку завихрения сертификата, используйте-k (или - небезопасный) опция.
Я предлагаю проверить законность сертификата веб-сервера. Шаги, которые Вы описываете, корректны, но давайте получим факты о сертификате.
Шаги ниже, я использую для поиска и устранения неисправностей сертификата веб-сервера.
(SERVER_COMMON_NAME является веб-сервером, с кем Вы хотите связаться),
echo | openssl s_client -servername ${SERVER_COMMON_NAME} \
-connect ${SERVER_COMMON_NAME}:443 2>/dev/null | \
openssl x509 -noout -subject
Проверьте, является ли CA тем, Вы ожидаете (поставщик cerficate):
echo | openssl s_client -servername ${SERVER_COMMON_NAME} \
-connect ${SERVER_COMMON_NAME}:443 2>/dev/null | \
openssl x509 -noout -issuer
Проверьте/CN поле в строку выпускающего.
echo | openssl s_client -servername ${SERVER_COMMON_NAME} \ -connect ${SERVER_COMMON_NAME}:443 2> /dev/null | \ openssl x509 -noout -dates
Проверьте результаты 'notAfter' и 'notBefore'.
Если вышеупомянутые хорошие взгляды, то протестируйте с завихрением И specifing корневой файл сертификата CA:
завихрение - cacert certs/the_ca.cert.pem-I https://$ {SERVER_COMMON_NAME}:443
Если - cacert работы опции затем проверяют, известен ли корневой CA файл в масштабе всей системы.
Ommit - cacert. Если завихрение дает ошибку, то ca-root-file НЕ установлен в системном каталоге сертификатов CA.