我将头顶在一张桌子上,试图弄清是什么原因导致尝试访问不存在的URL时,nginx配置中的重定向循环。配置如下:
server {
listen 127.0.0.1:8080;
server_name .somedomain.com;
root /var/www/somedomain.com;
access_log /var/log/nginx/somedomain.com-access.nginx.log;
error_log /var/log/nginx/somedomain.com-error.nginx.log debug;
location ~* \.php.$ {
# Proxy all requests with an URI ending with .php*
# (includes PHP, PHP3, PHP4, PHP5...)
include /etc/nginx/fastcgi.conf;
}
# all other files
location / {
root /var/www/somedomain.com;
try_files $uri $uri/ ;
}
error_page 404 /errors/404.html;
location /errors/ {
alias /var/www/errors/;
}
#this loads custom logging configuration which disables favicon error logging
include /etc/nginx/drop.conf;
}
该域是一个简单的STATIC HTML网站,仅出于某些测试目的。我希望error_page指令可以启动,以响应PHP-FPM无法找到给定的文件,因为我打开了fastcgi_intercept_errors。在http块中设置了error_page,但我猜测请求甚至在内部重定向之前就失败了。任何帮助将非常感激。
客户端浏览器在报告重定向循环,还是nginx?如果是客户端,重定向到哪个位置?
—
Shane Madden
两者都在报告。客户最终以/errors//errors//errors//errors//errors/...404.html的URL结尾
—
milosgajdos 2012年
nginx的日志条目是什么样的?
—
Shane Madden