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;

관련 정보