SSL "не удалось получить сертификат локального эмитента": "полная цепочка" против "root"?
Резюме
Итак, у меня есть несколько файлов, связанных с сертификатами, и некоторые инструкции, связанные с сертификатами, но я не уверен, какие файлы какие!
Фон
Я только что установил сертификат от Lets Encrypt с помощью acme.sh
Результат этого процесса выглядит следующим образом:
[Sat Aug 18 02:50:24 UTC 2018] Your cert is in /home/ubuntu/.acme.sh/www.foobar.xyz/www.foobar.xyz.cer
[Sat Aug 18 02:50:24 UTC 2018] Your cert key is in /home/ubuntu/.acme.sh/www.foobar.xyz/www.foobar.xyz.key
[Sat Aug 18 02:50:24 UTC 2018] The intermediate CA cert is in /home/ubuntu/.acme.sh/www.foobar.xyz/ca.cer
[Sat Aug 18 02:50:24 UTC 2018] And the full chain certs is there: /home/ubuntu/.acme.sh/www.foobar.xyz/fullchain.cer
Так что после настройки Nginx все это работает, когда запросы отправляются на https://www.foobar.xyz/ через обычный браузер.
проблема
Но когда я делаю тот же запрос через Curl, я получаю:
curl: (60) SSL certificate problem: unable to get local issuer certificate
Таким образом, кажется, есть два способа это исправить.
- попросите Curl игнорировать проблему или предоставьте curl список сертифицирующих органов на стороне клиента.
- изменить сертификат на сервере
Вопрос
Я хочу второй вариант, изменение на сервере, и эта страница дает инструкции о том, как это сделать конкретно...
2) Если вы получили промежуточные сертификаты в одном комплекте или загрузили файлы сертификатов в свою учетную запись у нас, вы можете использовать эту команду:
cat example_com.crt bundle.crt >> ssl-bundle.crt
Поместите объединенный файл в каталог с сертификатами SSL на вашем сервере Nginx.
У меня проблема в том, что я не уверен, какие из файлов, созданных с помощью acme.sh, соответствуют example_com.crt и bundle.crt?
Я думаю, что bundle.crt соответствует www.foobar.xyz.cer?
Но я не уверен, что example_com.crt соответствует?
1 ответ
Расслоение fullchain.cer
, Это содержит ca.cer
а также www.foobar.xyz.cer
,