Создание директории кеша nginx - странное поведение

У меня есть следующая строка (плюс контекст) в моем nginx.conf:

http {
    proxy_cache_path cache/  keys_zone=auth_cache:10m;
    ...

поскольку nginx.conf в /etc/nginx, cache/ соответствует /etc/nginx/cache, drwxr-XR-х. 5 корень корень 205 18 июня 16: 25 / etx / nginx

(Я также пробовал это с абсолютным путем /apps/nginx/cache/

drwx------. 2 nginx nginx 6 Jun 18 14:42 /apps/nginx

)

В любом случае, когда я пытаюсь

$ sudo systemctl start nginx

это терпит неудачу. journalctl -u nginx говорит мне следующее:

... nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
... nginx: [emerg] mkdir() "/etc/nginx/cache" failed (13: Permission denied)
... nginx: configuration file /etc/nginx/nginx.conf test failed

(В альтернативном сценарии это говорит "/apps/nginx/cache" вместо.)

Затем я попытался

$ sudo systemctl start nginx-debug

и это начинается без каких-либо проблем, ошибок или журналов предупреждений. Это создает cache/ каталог, где указано в nginx.confи когда я остановлю это и начну nginx служба, это также начинается нормально.

Мне нужно понять, что вызывает это, поэтому я могу написать свою автоматизацию и управление конфигурацией для работы из коробки. Мои две гипотезы:

  1. Это проблема SELinux, и сервис / бинарный nginx-debug имеет разные теги / ограничения nginx,
  2. Предполетная проверка при запуске nginx пытается создать каталог как другой. непривилегированный пользователь, но nginx-debug пропускает эти проверки и таким образом создает каталог как root или nginx.

Любая идея, как эффективно добраться до сути этого? Спасибо!

1 ответ

Не уверен, что это проблема selinux. Лучший способ проверить это - отключить selinux и запустить ваши вещи.

setenforce 0       //setenforce 1 (to refinforce)

Если это проблема selinux, вы можете попытаться установить контекст для папки кэша.

sudo semanage fcontext -a -t httpd_cache_t "/etc/nginx/cache(/.*)?"
sudo restorecon -Rv /etc/nginx/

Проверьте метку папки.

sudo ls -lZ /etc/nginx/
Другие вопросы по тегам