Faça o Nginx seguir links simbólicos

28

O Nginx não segue links simbólicos. Eu recebo um erro 404. No meu diretório, eu tenho este link:

lrwxrwxrwx  1 root root    48 Sep 23 08:52 modules -> /path/to/dir/

mas os arquivos armazenados /path/to/dirnão foram encontrados.

hellb0y77
fonte
Dê uma olhada em nginx.org/en/docs/http/…
Andy
2
OK eu resolvi com disable_symlinks off;. Obrigado!
precisa saber é o seguinte
Não há problema. Tenha um bom dia!
Andy
Digite sua solução como resposta e aceite-a (é um comportamento justo aqui) ou exclua sua pergunta em outro lugar.
Leonbloy 23/09/14
Alguma outra ideia? Estou tendo esse problema, tentei desativar o desativar_symlinks; no meu conf (mesmo que seja o padrão) e nada está funcionando.

Respostas:

38

Eu insiro disable_symlinks off;no meu nginx.conf e resolvi, funciona bem!

http {
    disable_symlinks off;
}
hellb0y77
fonte
Eu consegui nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22depois de fazer isso. Eu estava usando nginx/1.8.0no Mac OS X.
frozen-flame
2
@ Frozen-flame disable_symlinksfoi adicionado na versão 1.1.15 ( consulte a documentação ), portanto, deveria ter funcionado. Você tem certeza de que estava no 1.8.0 e se estava no contexto permitido (http, servidor ou local)?
Ville
2
Contexto a usar disable_symlinks:http, server, location
Thiago Pereira
1

Eu encontrei a solução neste post .

Mais especificamente, estas linhas:

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
Jonathan Martins
fonte
1

Use a opção 'bind' montando pastas =)

sudo nano /etc/fstab

Tipo:

/path/where/my/big/files_dir /var/www/myhost/media_dir bind defaults,bind 0 0

(sem links simbólicos e não se esqueça de reiniciar o vds / cpu)

phpWebStudio
fonte