Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

143
Visualizações
nginx sirve solo / pero no ningún otro archivo

Tengo dos contenedores docker como se muestra a continuación:

 nginx ==> working as proxy web server (nginx web server) dist ==> working as a php-fpm container

Y este es mi dist.conf :

 server { server_name dist.me.com; root /var/www/html; location / { # try to serve file directly, fallback to index.php try_files $uri /index.php$is_args$args; } location ~ ^/index\.php(/|$) { fastcgi_pass dist:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } location ~ \.php$ { return 404; } error_log /var/log/nginx/dist_error.log; access_log /var/log/nginx/dist_access.log; }

El problema es que si entro en dist.me.com , muestra bien el contenido de mi index.php . Pero si ingreso dist.me.com/index.php o dist.me.com/index2.php , aparece el error 404 Not Found .

Intenté cambiar algunos valores del archivo conf pero no me ayudó.

Tanto index.php como index2.php existen en la ruta /var/www/html .

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su dist.conf existente está diseñado para bloquear los URI que terminan en .php . La directiva internal evita que se acceda directamente a una ubicación, y también hay una ubicación que devuelve explícitamente 404 para cualquier URI que termine en .php .

Debe cambiar la regla de location , eliminar la directiva internal y eliminar el bloque de location que le sigue.

Por ejemplo, reemplace location ~ ^/index\.php(/|$) { ... } y location ~ \.php$ { ... } con el bloque de location única de la siguiente manera:

 location ~ \.php(/|$) { fastcgi_pass dist:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda