Hello!

On Mon, Sep 09, 2019 at 06:55:46PM +0300, actionmana...@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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить