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,并附加一个与我的静态文件中的任何内容都不对应或在两个应用程序中都没有任何含义的随机名称(例如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;

相关内容