nginx não consegue encontrar cgi dois níveis de profundidade

1

Geralmente, desejo veicular um arquivo index.html quando http://mysite.com/ e qualquer outro diretório for solicitado. O seguinte, no nginx.conf, faz isso para /test :

location /test {
    try_files $uri.html $uri/index.html /index.html =404;
}

Se eu quiser servir arquivos do mesmo local através de cgi (no thttpd), isso também funciona como deveria, servindo uma página programada cgi:

location /test {
        proxy_pass http://127.0.0.1:8000;
}

O problema que tenho é descobrir como ir para um nível mais profundo, como / test / page1. Se page1.html existir, quero que seja servido mas, se não, quero que ele vá para o servidor thttpd e execute o programa cgi lá. As muitas variações no arquivo de configuração que eu tentei me deram um loop de redirecionamento ou arquivo não encontrado ou um erro do servidor. Outras vezes, posso obtê-lo para servir os arquivos cgi e html, mas tentar acessar o diretório dá um loop.

O seguinte também funcionou, em parte, mas eu estou tão esgotada tentando variações diferentes, eu me perdi.

location /test {
    proxy_pass http://127.0.0.1:8000/test;
}

Tenho certeza de que há apenas uma coisa simples e fundamental que estou perdendo.

    
por Rob 19.03.2014 / 18:36

0 respostas

Tags