Welcome! Log In Create A New Profile

Advanced

Re: conditional expression

March 04, 2017 10:22PM
Also, It might be better to check the $arg_*argument *variable instead and
also set a check for $is_args. NGINX will process them in order within the
configuration.

map $is_args $redirect {
"?" "1";
default "";
}

map $arg_emailaddress $redirect {
~.+%40[a-zA-Z0-9\.\-] '';
default "1";
}

On Sat, Mar 4, 2017 at 7:06 PM, Kevin Jones <kevin@nginx.com> wrote:

> Hi,
>
> You would be better to accomplish this with map. Would this work?
>
> map $args $redirect {
> ~emailaddress=.+%40[a-zA-Z0-9\.\-] '';
> default "1";
> }
>
> server {
> ...
> location / {
> ...
> }
>
> location /foo {
> if ($redirect) { return 301 /; }
> ...
> }
>
> }
>
> On Sat, Mar 4, 2017 at 1:52 PM, 173279834462 <nginx-forum@forum.nginx.org>
> wrote:
>
>> Hello,
>>
>> Our local policy demands the rejection of any query; we do this as
>> follows:
>> if ($is_args) { return 301 /; }
>>
>> The introduction of Thunderbird autoconfiguration demands an exception to
>> the above policy, because of
>> "GET
>> /.well-known/autoconfig/mail/config-v1.1.xml?emailaddre=uname%
>> 40example.com".
>>
>> The resulting rule would be
>>
>> if (($is_args) && ($args !~ emailaddress=.+%40[a-zA-Z0-9\.\-]+)) { return
>> 301 /; }
>>
>> The rule does not work, because nginx does not parse the AND condition.
>>
>> Of course, you cannot just remove $is_args, because $args is usually
>> empty.
>>
>>
>> The alternative would be if ($args ~ emailaddress=.+%40[a-zA-Z0-9\.\-]+))
>> {
>> allow all; } else { return 301 /; },
>> but nginx does not parse if-then-else statements.
>>
>> Are we stuck in the cage?
>>
>> Posted at Nginx Forum: https://forum.nginx.org/read.p
>> hp?2,272758,272758#msg-272758
>>
>> _______________________________________________
>> nginx mailing list
>> nginx@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>>
>
>


--
Kevin Jones
Technical Solutions Architect | NGINX, Inc.
kevin@nginx.com
Skype/Twitter @webopsx
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

conditional expression

173279834462 March 04, 2017 04:52PM

Re: conditional expression

webopsx March 04, 2017 10:08PM

Re: conditional expression

webopsx March 04, 2017 10:22PM

Re: conditional expression

173279834462 March 05, 2017 11:31AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 158
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready