NGINX:内部重定向循环:需要配置帮助

NGINX:内部重定向循环:需要配置帮助

我正在尝试设置一个非常简单的 nginx 配置来提供静态内容。这是我的配置设置。每当我尝试访问不存在的文件时,我都会得到 HTTP 500,而不是 404。请告诉我我做错了什么?

2012/12/21 11:15:14 [错误] 1906#0:*41 重写或内部重定向循环,内部重定向到“/index.html”,客户端:127.0.0.1,服务器:i.domain.com,请求:“GET /favicon.ico HTTP/1.1”,主机:“i.domain.com”

server {
        listen   127.0.0.1:81; ## listen for ipv4; this line is default and implied
        root /project/;
        index index.html index.htm;
    location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
    access_log      off;
    log_not_found   off;
    expires         360d;
    }
        server_name i.domain.com;
        location / {
                try_files $uri $uri/ /index.html;
        }
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/www;
        }
}

答案1

看起来您有两个问题。

  1. 您没有 /index.html 文件
  2. 您没有/404.html 文件

当发出请求时,它会经历尝试文件过程。最后,它会意识到 index.html 不存在,并继续返回 404。要完成该任务,它现在必须获取 404.html 并重新开始请求。它会检查 $url(其中 $url 定义为“404.html”),然后检查 $url/,然后再次检查 index.html,然后进入无限循环。

由于您进入了 inf 循环,因此这是一个内部错误。因此,恰好出现了错误 500。

答案2

您没有在目录中创建index.html文件/project

相关内容