Eu tive o mesmo problema e foi devido ao SELinux .
Para verificar se o SELinux está sendo executado:
# getenforce
Para desativar o SELinux até a próxima reinicialização:
# setenforce Permissive
Reinicie o Nginx e veja se o problema persiste. Se você quiser alterar permanentemente as configurações, você pode editar /etc/sysconfig/selinux
Se o SELinux for seu problema, você pode executar o seguinte para permitir que o nginx sirva seu diretório www (lembre-se de ativar o SELinux antes de testar isso, por exemplo, setenforce Enforcing
)
# chcon -Rt httpd_sys_content_t /path/to/www
Se você ainda tiver problemas, veja os sinalizadores booleanos em getsebool -a
, em particular, talvez seja necessário ativar httpd_can_network_connect
para acesso à rede
# setsebool -P httpd_can_network_connect on
Para mim, foi o suficiente para permitir ao http servir meu diretório www.