O problema foi causado pela atualização do CentOS de 6.5 para 6.6 e como o SElinux permite o tipo de conteúdo. Com este upgrade, o SElinux por padrão só permite httpd_t
content (semelhante a como eles tratam o apache), e como eu armazeno todo meu webcontent em /srv/www/
, essas pastas criadas pelo usuário não tinham rótulo de conteúdo definido automaticamente pelo sistema. p>
Para verificar isso, execute o seguinte comando em sua webroot e em seus diretórios /etc/nginx
e compare os tipos de conteúdo:
ls -Z /srv/www/
Eu executei estes comandos e reiniciei nginx
e agora tudo está funcionando normalmente.
grep nginx /var/log/audit/audit.log | audit2allow -m nginx > nginx.te
grep nginx /var/log/audit/audit.log | audit2allow -M nginx
semodule -i nginx.pp
Não tenho certeza do que esse módulo do SElinux faz, mas achei que estava lendo este post sobre o mesmo problema. Eu posso tentar recuar hoje, porque acho que a segunda coisa que fiz para consertar isso realmente funcionou.
[09:15 AM] robotoverlord ~>chcon -Rv --type=httpd_sys_content_t /srv/www/
[09:15 AM] robotoverlord ~> ls -Z /srv/www/
drwxr-xr-x. www-data nobody unconfined_u:object_r:httpd_sys_content_t:s0 website1
[09:15 AM] robotoverlord ~>service nginx restart
Informações adicionais sobre a rotulagem de conteúdo para o SElinix
Problema resolvido!