404 -> 500

Alexander S. Zavdoveyeff subscribe at main.net.ua
Sun Aug 27 17:38:52 MSD 2006


Добрый день!
Есть nginx в роли front-end и apache в роли back-end.
В nginx.conf присутствует в http:

error_page 404 /404.html;
error_page 403 /403.html;
error_page 500 502 503 504 /50x.html;

Есть server. В его конфигурации есть proxy_intercept_errors on.

Запрашиваю несуществующий файл с домена. 404.html в root у server нет.
В итоге отдаёт мне nginx не 404-ю ошибку, как должно быть, а 500-ю.
Вот кусок debug-лога:

2006/08/27 16:26:02 [debug] 1671#0: *27262 http proxy header: "Date: Sun, 27 Aug 2006 13:26:02 GMT"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http proxy header: "Server: Apache/1.3.37 (Unix) PHP/5.1.4"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http proxy header: "Connection: close"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http proxy header: "Content-Type: text/html; charset=iso-8859-1"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http proxy header done
2006/08/27 16:26:02 [debug] 1671#0: *27262 finalize http upstream request: 404
2006/08/27 16:26:02 [debug] 1671#0: *27262 finalize http proxy request
2006/08/27 16:26:02 [debug] 1671#0: *27262 close http upstream connection: 5
2006/08/27 16:26:02 [debug] 1671#0: *27262 event timer del: 5: 1339019836
2006/08/27 16:26:02 [debug] 1671#0: *27262 http finalize request: 404, "/404.html?"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http special response: 404, "/404.html"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http set discard body
2006/08/27 16:26:02 [error] 1671#0: *27262 rewrite or internal redirection cycle while sending to client, client: 89.107.226.156
, server: perec.org.ua, URL: "/stat/", upstream: "http://127.0.0.1:80/404.html", host: "perec.org.ua"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http finalize request: 500, "/404.html?"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http special response: 500, "/404.html"
2006/08/27 16:26:02 [debug] 1671#0: *27262 http set discard body
2006/08/27 16:26:02 [debug] 1671#0: *27262 HTTP/1.1 500 Internal Server Error
Server: nginx/0.3.60
Date: Sun, 27 Aug 2006 13:26:02 GMT
Content-Type: text/html
Content-Length: 193
Connection: close

Если сделать proxy_intercept_errors off, то всё становится нормально,
apache отдаёт свою 404-ю.

Баг или фича?

-- 
          PHN85-UANIC                    PHN85-RIPE
WBR, Alexander S. Zavdoveyeff.           mailto: a.zavdoveyev at main.net.ua





More information about the nginx-ru mailing list