Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re[2]: проблема с error_page
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Re[2]: проблема с error_page
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Sun, 8 Nov 2009 16:21:53 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=yKVd89JWVCrA9trbWdl4yx5RE+ta8aIAyxqJJrQZyjQ=; b=JKVUTEDunHZ+0HdmKEI0oqJGNQJpVeLH/RwMRgQAiX34vqmTPrao3ex1mlYZvDFQCX Y55gH6xcLnumfqLqNpPIOP8RrW0b56lPW7g3HwxRkuYwIB3QA867LPsYcB6Wacrh5cZq Rp0vCyhtLBcAnhgya7gO2Fu5uYAzdfDCKNiT4=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=AxDLCptnNTkPnLyUw90IptFligcZTEbisoEooFneLBTEnM48icwyZ/5/P8jMnEgOCb j5LGYhmWpxCu+2R+2IBsLOwVlHyQuxmNY90KN9dJK2hH3/AfwCXqCeWkWd4xuKpeKEKW kyLR371I5UiGFu9n00g7uuKqI3Dy8gvcp+hKM=
- In-reply-to: <1983060531.20091108120738@xxxxxxxxxxxxx>
- References: <18210602967.20091107213719@xxxxxxxxxxxxx> <933218122.20091108001039@xxxxxxxxxxxxx> <20091108011031.GI1144@xxxxxxxxxx> <1983060531.20091108120738@xxxxxxxxxxxxx>
2009/11/8 Михаил Монашёв <postmaster@xxxxxxxxxxxxx>:
> Здравствуйте, Максим.
>
>>> Проблема с error_page осталась, но другая.
>>>
>>> Сейчас конфиг для раздачи фавиконов сайтов вот такой:
>>>
>>> proxy_intercept_errors on;
>>> error_page 400 401 402 403 404 405 406 407 408 409
>>> 410 411 412 413 414 415 416 417 422 423 424 425 426 449 500 501 502
>>> 503 504 505 506 507 509 510 = /zero;
>>>
>>> location / {
>>> return 204;
>>> }
>>>
>>> location = /zero {
>>> return 204;
>>> }
>>>
>>> # aa.ru
>>> location ~ "^/([a-z0-9-]{1,50}\.[a-z]{2,4})$" {
>>> proxy_set_header Host $1;
>>> proxy_pass http://$1/favicon.ico;
>>> }
>>>
>>> # bb.aa.ru
>>> location ~
>>> "^/([a-z0-9-]{1,50\}.[a-z0-9-]{1,50}\.[a-z]{2,4})$" {
>>> proxy_set_header Host $1;
>>> proxy_pass http://$1/favicon.ico;
>>> }
>>>
>>> # cc.bb.aa.ru или 111.222.33.44
>>> location ~
>>> "^/([a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z0-9-]{1,50}\.[a-z0-9]{1,4})$"
>>> proxy_set_header Host $1;
>>> proxy_pass http://$1/favicon.ico;
>>> }
>>>
>>>
>>> Но не знаю как решить проблему с отключением проксирования редиректов.
>>> error_page на 300-ые статусы ругается. И редиректы проксируются юзеру.
>>> Что не мешает хакеру средиректить на страничку, где выдадут 401 код и
>>> юзер вместо фавиконки увидит окно http-авторизации. Ну а дальше
>>> доверчивые юзеры вводят свои пароли...
>
> MD> У меня есть два замечания:
>
> MD> 1. Задачу замены 3xx через error_page я в свое время решал для
> MD> wap-сайтов (wml, ага, чтобы бекенды не конфигурировать лишнего).
> MD> Где-то у меня на сайте валяется патч, но он для 0.5.*. На текущие
> MD> версии скорее всего не ляжет.
>
> Пока решил проблему через
> proxy_hide_header Location;
>
> Но это криво: неверный статус и ненужное html-тело.
>
> MD> 2. Если я правильно понимаю что ты хочешь сделать - тебе нужно не
> MD> это, а image_filter. Потому как вместо картинки отдать exploit -
> MD> точно так же никто не мешает, надо содержимое хотя бы минимально
> MD> проверять.
>
> Да, он для этой задачи как раз идеален. Но favicon.ico имеют свой
> формат и я всегда буду получать 415 код. Было б здорово добавить
> поддержку ICO в модуль, ибо этот формат в вебе тоже используется.
>
Нет, /favicon.ico это просто имя ресурса. Формат определяется
исключительно content-type.
Можно раздавать гифы, жпеги, всё что угодно. И оно будет работать. Ну,
конечно, кроме старых браузеров.
http://www.spamobzor.ru/ здесь, например, PNG выступает в роли favicon.
> --
>
> С уважением,
> Михаил Монашёв, SoftSearch.ru
> mailto:postmaster@xxxxxxxxxxxxx
> ICQ# 166233339
> http://michael.mindmix.ru/
> Без бэкапа по жизни.
>
>
>
|