Re[5]: Вложенныедирективыилиобъединениеусловий

Denis F. Latypoff denis at gostats.ru
Wed Apr 16 19:56:15 MSD 2008


Hello Константин,

Wednesday, April 16, 2008, 10:19:01 PM, you wrote:

> Здравствуйте, Alexey.

> Вы писали 16 апреля 2008 г., 16:58:14:

>> думаю location-ы с include-ами будут быстрее ифов ...

>> On 16.04.2008, at 17:25, Denis F. Latypoff wrote:

>>> Hello Larry,
>>>
>>> Wednesday, April 16, 2008, 7:55:13 PM, you wrote:
>>>
>>>> On Wednesday 16 April 2008 20:28, Andrey Ignatov wrote:
>>>>> On Wed, Apr 16, 2008 at 11:57:17AM +0000, Larry Gingras wrote:
>>>>>> Переписываю очень сложную и навороченную конфигурацию apache под  
>>>>>> nginx
>>>>>> (для реализации связки nginx+apache).
>>>>>> И вот например мне нужно тут в одной штуке нужно проверить  
>>>>>> несколько
>>>>>> условий. В apache я просто писал несколько RewriteCond подряд.  
>>>>>> Тут в
>>>>>> одном if несколько условий поставить нельзя. И, как оказалось,  
>>>>>> вложенные
>>>>>> if не поддерживаются тоже. Так что же делать в таком случае?
>>>>>> Вот один из примеров, который не знаю как расписать правильно:
>>>>>> if ($request_uri ~* \.(jpg|gif|wmv|flv)$) {
>>>>>>    if ($request_uri !~ ^/webmasters/) {
>>>>>>            if($invalid_referer) {
>>>>>>                    return 403;
>>>>>>            }
>>>>>>    }
>>>>>> }
>>>>>
>>>>> Можно попробовать что-нибудь в таком духе:
>>>>>
>>>>> if ($request_uri ~* \.(jpg|gif|wmv|flv)$) {
>>>>>      set $i  "a";
>>>>> }
>>>>>
>>>>> if ($request_uri !~ ^/webmasters/) {
>>>>>      set $i  "a$i"
>>>>> }
>>>>>
>>>>> if ($invalid_referer) {
>>>>>      set $i  "a$i"
>>>>> }
>>>>>
>>>>> if ($i = "aaa") {
>>>>>      return 403;
>>>>> }
>>>>>
>>>>> Не красиво, но др. вариантов не знаю.
>>>> Вот это я думаю наиболее изящное и хорошее решение
>>>> Потому что мне тут предлагают разбивать всё на отдельные локейшены,  
>>>> а учитывая
>>>> что там помимо этого примера ещё мама не горюй таких вещей, то там  
>>>> ужас что
>>>> было бы. А с таким подходом очень много локейшенов удастся  
>>>> сэкономить.
>>>
>>> либо красивый конфиг, либо скорость.
>>> Вы выбрали первое.
>>>
>>> -- 
>>> Best regards,
>>> Denis                            mailto:denis at gostats.ru
>>>
>>>


> А никто не тестировал?
> Ради интереса можно сделать два конфига и протестить с помощью ab ^_^

скорее всего скорость будет примерно одинаковая, но cpu usage будет отличаться.


-- 
Best regards,
 Denis                            mailto:denis at gostats.ru






More information about the nginx-ru mailing list