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