error_page & proxy_pass
Igor Sysoev
is at rambler-co.ru
Thu Jul 3 23:56:11 MSD 2008
On Thu, Jul 03, 2008 at 08:33:10PM +0300, Andrew Sitnikov wrote:
> location /foo {
> return 502;
> }
>
> error_page 502 =200 /errors/502.html;
>
> location /errors {
> proxy_pass http://backend:80;
> }
>
> запрашиваем http://host/foo
>
> и на backend уходит запрос /foo а не /errors/502.html, если в /errors прописать root
> и файлы отдавать локально то все работает как надо (отдаются файл 502.html).
Это фича. Нужно добавить URI-part в proxy_pass:
- location /errors {
- proxy_pass http://backend:80;
+ location /errors/ {
+ proxy_pass http://backend:80/;
}
> Второй вопрос:
>
> error_page 502 =200 /errors/502.html;
>
> location /errors {
> root /foo/bar/baz;
> expires -1;
> }
>
> если для error_page не указывать =200 то заголовки который должен создавать expires не выдаются.
>
> P.S. версия nginx - 0.6.31
expires выдаётся только для 200, 204, 301, 302 и 304.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list