ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: access module и rewrite


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: access module и rewrite
  • From: Sergey Shepelev <temotor@xxxxxxxxx>
  • Date: Thu, 25 Jun 2009 00:26:53 +0400
  • 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=dJ87TybhRkFQsKfc+1vDrGkhrCgtuUNRpNEgLT0fCAQ=; b=o8l63z1n4wuVtzoQ3TR3XPcHRNLv2we478tdJh3idfEfpaAOxuPAyGmarrA+jv5N/e Y1zhkjPO4XKo4xHbLUsG39x3edh+GMMlssnWOQpk8snBFj/s4ep25sba5r7TeLoIxIag u6U3k5YixbZilPgtSfFp6OWnj/rCHduDozGlI=
  • 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=euLcsWoBEVvXT1CmaCipSa0/kWlfFj17s687l167DnY0XY//dbQPnRtVbBgAsNVYXr 0YVPUhaBrLosl12T0onRWpgmDJKUPzkpTHjzTiXEaGzeqtJ6xtb6WNHiDsaDNyekyQXt eyxIzlSYwk83NJAbQKbST3l2D0B56ikFU3U10=
  • In-reply-to: <4A4260A7.7000100@xxxxxxxxx>
  • References: <4A4252AE.4090604@xxxxxxxxx> <2d8fb9950906240931v6617786w8b4763fcd314e05a@xxxxxxxxxxxxxx> <4A4260A7.7000100@xxxxxxxxx>

2009/6/24 Konstantin Belov <belov1985@xxxxxxxxx>:
> Sergey Shepelev wrote:
>>
>> 2009/6/24 Konstantin Belov <belov1985@xxxxxxxxx>:
>>
>>>
>>> Конструкция:
>>>
>>> location /registration {
>>>  deny all;
>>>
>>
>> -   rewrite ^/ /url last;
>>
>>>
>>> }
>>>
>>>
>>> в итоге реврайт срабатывает и ограничение доступа не работает :(
>>> как быть?
>>>
>>>
>>>
>>
>> Вам что надо - реврайт или deny?
>>
>
> И реврайт, и deny.
> Я думал, что реврайт не будет выполняться, если есть deny :-)
>
>

ENOSENSE (в этом нет смысла)
Если вам нужно безусловно (deny all) запретить доступ, то нужно
выкинуть строку rewrite.
Если вам нужно безусловно (rewrite ^) реврайтить, то нужно выкинуть строку deny.

Закрыть доступ для конкретных адресов более эффективно через файрвол.

Задача:
- открыть для всех, кроме нескольких адресов и реврайтить /foo* на что-то?

Лучше всего - файрволом.

- закрыть для всех, кроме нескольких адресов и реврайтить /foo* на что-то?

Лучше всего - файрволом.

- на урлы /registration* выдавать 403?

location /registration { return 403; }

- на урлах /registration* редиректить на другой урл, где выдавать 403?

location /registration { rewrite ^ /403 redirect; }
location = /403 { return 403; }

У вас одна из этих или другая задача?

P.S.: обратите внимание на звездочку. Если у вас один конкретный урл
/registration, то его лучше обрабатывать со знаком равно. Если нужно
обрабатывать урлы, которые начинаются на что-то, то 'равно' не
подходит.
location = /registration { #поймает только ровно /registration,
/registration/user не поймает


 




Copyright © Lexa Software, 1996-2009.