Я устанавливаю sgin-прокси nginx на моем сервере Fedora.
Я создал пару сертификатов и ключей в / etc / nginx. Они выглядят так:
ls -l /etc/nginx/
total 84
...
-rw-r--r--. 1 root root 1346 Sep 20 12:11 demo.crt
-rw-r--r--. 1 root root 1679 Sep 20 12:11 demo.key
...
Как пользователь root, я пытаюсь запустить службу nginx:
systemctl start nginx.service
Я получаю следующую ошибку:
nginx[30854]: nginx: [emerg]
SSL_CTX_use_certificate_chain_file("/etc/nginx/demo.crt") failed (SSL: error:0200100D:system library:fopen:Permission denied...e:system lib)
nginx[30854]: nginx: configuration file /etc/nginx/nginx.conf test failed
Что-то не так с разрешениями для этих файлов?
nginx
ssl
ssl-certificate
numb3rs1x
источник
источник
Ответы:
Вы, вероятно, используете SELinux в принудительном режиме (по умолчанию для Fedora):
Если это так, проверьте журналы аудита, вы должны найти ошибку доступа:
Вы также, вероятно, переместили поле вместо его копирования, поэтому контекст безопасности файла может быть неправильным.
и исправьте это при необходимости:
источник
cp
вместоmv
и научитесь использоватьaudit
систему для поиска отказов AVC.Я предполагаю, что это SELinux, который отказывает в разрешении. Проверьте их контекст SELinux. Их должно быть httpd_config_t. Если нет, запустите
или
как корень.
Вы можете проверить журналы в / var / log / audit /, чтобы увидеть, является ли SELinux отказом в разрешении. Вы также можете запустить
установить SELinux в разрешительный режим . Таким образом, SELinux по-прежнему генерирует сообщения AVC (в / var / log / audit /), но разрешает доступ.
источник