Log de erros do Nginx mostra resultados estranhos

Log de erros do Nginx mostra resultados estranhos

Aqui está minha configuração do Nginx, resumidamente:

...

server {
    listen   80;
    server_name whatever;
    root /var/www/;

    location /api/1.0 {
        ...
        `proxy_pass http://localhost:8000/;
    }

    location /api/2.0 {
        ...
        proxy_pass http://localhost:8080/;
    }

    location / {
        root /var/www/static/;
        default_type text/html;
        try_files  $uri $uri/index.html index.html;
    }
}

Se eu for agora localhoste acrescentar um nome aleatório que não corresponda a nada em meus arquivos estáticos ou que signifique algo em qualquer um dos dois aplicativos (por exemplo http://localhost/whatever), recebo um erro estranho em meu log:

14/09/2013 20:58:20 [erro] 28731#0: *2 open() "/var/wwwindex.html" falhou (2: Esse arquivo ou diretório não existe), cliente: 127.0.0.1, servidor: ec2 -54-234-175-21.compute-1.amazonaws.com, solicitação: "GET /whatever HTTP/1.1", host: "localhost"

Estou pensando que isso deve apenas refletir minha falta de compreensão, porque realmente não tenho ideia de por que o nginx está tentando acessar "/var/wwwindex.html". Observe que não quero que essa solicitação seja bem-sucedida, só quero que ela falhe de uma maneira que eu entenda. O que exatamente está acontecendo? Pensamentos apreciados, obrigado antecipadamente!

Responder1

Você try_filestermina com index.html, que é anexado ao root(e o final /de the rooté ignorado). Adicione um /a ele.

        try_files  $uri $uri/index.html /index.html;

informação relacionada