存在しない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;
}
このドメインは、いくつかのテスト目的のための単純な静的HTMLサイトです。fastcgi_intercept_errorsがオンになっているため、PHP-FPMが指定されたファイルを見つけることができないことに応答して、error_pageディレクティブが作動することを期待しています。httpブロックとnave error_pageで設定されていますが、内部リダイレクトのどこかでリクエストが失敗することを推測しています。どんな助けでも大歓迎です。
クライアントブラウザーはリダイレクトループを報告していますか、それともnginxですか?クライアントの場合、リダイレクト先はどこですか?
—
シェーンマッデン
両方が報告しています。クライアントは最終的に/errors//errors//errors//errors//errors/...404.htmlのURLで終わる
—
milosgajdos
nginxのログエントリはどのようなものですか?
—
シェーンマッデン