Uma seção “localização” não está funcionando completamente, enquanto as outras são

1

Tentando configurar o nginx para exibir recursos estáticos do meu aplicativo da Web, desenvolvi isso parcialmente,

# error!!!!
# always 404: not found
location ~ ^/my_uploads/(images|pdfs|videos)/ {

        # "/opt/my_app123/assets/my_real/uploads_folder/" is the physical path to my uploaded assets

        root /opt/my_app123/assets/my_real/uploads_folder; 

autoindex off;     }

# below everything working good

location ~ ^/(images|css|js|fonts|videos)/ {
        root /opt/my_app123/assets/static;
        autoindex off;
}

location ~ ^/(favicon.ico|robots.txt) {
        alias /opt/my_app123/assets/static/$1;
}

location = / {
  proxy_set_header        Host $host;
  [..........]
}

Todas as permissões são 777. O SELinux nem está instalado. Mas eu continuo pegando o 404 para qualquer coisa que eu estou tentando acessar em my_uploads/

Como consertar isso?

Por exemplo,

my_domain.com/robots.txt # ok

my_domain.com/images/image1.png # ok
my_domain.com/videos/video1.mp4 # ok

my_domain.com/my_uploads/videos/video2.mp4 # not found
my_domain.com/my_uploads/pdfs/my_doc1.pdf # not found
    
por Korim 17.05.2018 / 06:14

1 resposta

0

Do seu comentário:

for uploads the physical path--> /opt/my_app123/assets/my_uploads/{images, pdfs, videos, etc}/{file_name}

Para o URI /my_uploads/videos/video2.mp4 , se o arquivo físico estiver localizado em /opt/my_app123/assets/my_uploads/videos/video2.mp4 , a raiz do documento será /opt/my_app123/assets .

O caminho físico é calculado concatenando o valor de root e o URI.

Por exemplo:

location ~ ^/my_uploads/(images|pdfs|videos)/ {
    root /opt/my_app123/assets; 
    autoindex off; 
}

Veja este documento para detalhes.

    
por 18.05.2018 / 11:01

Tags