atom feed5 messages in ru.sysoev.nginxRe: The location directive
FromSent OnAttachments
Thomas LoveApr 7, 2011 11:46 am 
Antoine BonavitaApr 7, 2011 11:58 am 
Maxim DouninApr 7, 2011 7:31 pm 
Thomas LoveApr 8, 2011 6:08 am 
Maxim DouninApr 8, 2011 8:53 am 
Subject:Re: The location directive
From:Thomas Love (toml@gmail.com)
Date:Apr 8, 2011 6:08:07 am
List:ru.sysoev.nginx

On 8 April 2011 04:32, Maxim Dounin <mdou@mdounin.ru> wrote:

There were lots of such discussions, and the only expected answer

to all proposals to add global/continue/whatever locations which alter configuration is: no.

The reason is simple: with large config it's practically impossible to find out how requests will be processed when such "global" locations are present.

I should have been clear -- global/continue/whatever are not the same thing. A "continue" location is tested in the normal order. This means there's a possibility it's _not_ processed even if it matches, if it comes after a normal match-and-break location in nginx's testing order.

Assuming you meant what I did by "continue", I'm not sure whether you are saying simply that it's difficult for users to understand such configs, or whether you're saying the processing actually is undefined.

If it's the former, then, is it not the case that:

a) (likely very many) large configs wouldn't be so large if they used "continue" locations b) the cheapest alternative is nested locations, which are themselves difficult to understand, and c) existing users need not implement it

The idea is to simplify the configs of new and ordinary users, and to provide a compact alternative to common nesting motifs.

If on the other hand you are saying that there are cases where processing somehow becomes undefined when using a "continue" location, can you provide an example (which does not occur for an equivalent nested directive)?

Thomas