Re: Ошибка при использовании переменных в ssl_certificate и ssl_certificate_key
Maxim Dounin
mdounin на mdounin.ru
Пн Сен 9 16:07:13 UTC 2019
Hello!
On Mon, Sep 09, 2019 at 06:55:46PM +0300, actionmanager at gmail.com wrote:
> ubuntu 18.04
>
> nginx/1.17.3
>
> nginx не может считать файл fullchain.cer при использовании переменной в директиве ssl_certificate.
>
> ssl_certificate /root/.acme.sh/$ssl_key_name/fullchain.cer;
>
>
> 2019/09/09 15:30:46 [error] 15246#15246: *546 cannot load certificate
> "/root/.acme.sh/site.org/fullchain.cer": BIO_new_file() failed (SSL: error:0200100D:system library:fopen:Permission denied:fopen('/root/.acme.sh/site.org/fullchain.cer','r') error:2006D002:BIO routines:BIO_new_file:system lib) while SSL handshaking
>
>
> прописываю путь без переменной, всё работает.
>
> видимо при запуске nginx читает от root , а при использовании
> переменных в ssl_certificate от пользователя из конфига ( www-data )
> т.к. путь формируется динамически.
Да, именно так. Рабочие процессы в норме работают не от рута, и
чтобы они могли читать сертификаты - сертификаты и ключи должны
быть доступны рабочим процессам на чтение.
Необходимость давать рабочим процессам право на чтение ключей -
одна из причин, почему использовать динамическую загрузку
сертификатов без нужды - не стоит.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru