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.


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;
}

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;

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)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.