Nginx エラー ログに奇妙な結果が表示される

Nginx エラー ログに奇妙な結果が表示される

私の Nginx 設定を簡単に説明します。

...

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

ここで に移動しlocalhost、静的ファイル内のどの名前にも対応しない、または 2 つのアプリケーション (例 ) のどちらでも意味を持たないランダムな名前を追加するとhttp://localhost/whatever、ログに奇妙なエラーが表示されます。

2013/09/14 20:58:20 [エラー] 28731#0: *2 open() "/var/wwwindex.html" が失敗しました (2: そのようなファイルまたはディレクトリはありません)、クライアント: 127.0.0.1、サーバー: ec2-54-234-175-21.compute-1.amazonaws.com、リクエスト: "GET /whatever HTTP/1.1"、ホスト: "localhost"

これは私の理解不足を反映しているに違いないと思います。なぜなら、nginx がなぜ "/var/wwwindex.html" にアクセスしようとしているのか、まったくわからないからです。このリクエストが成功することを望んでいるのではなく、理解できる方法で失敗することを望んでいるだけであることに注意してください。いったい何が起こっているのでしょうか? ご意見をいただければ幸いです。よろしくお願いします!

答え1

try_filesは で終わり、index.htmlこれが に追加されます(のroot末尾は無視されます)。に を追加します。/root/

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

関連情報