<div dir="ltr">Hi,<div><br></div><div>With help from the Naxsi maillist I found that my idea is indeed not possible.</div><div>Naxsi doesn't process subrequests, so that's why it didn't work as I expected.</div><div>It seems to be on the roadmap to change this behavior.</div><div><br></div><div>My workaround for now it to move the two rulesets into different server blocks in Nginx:</div><div><br></div><div>Serverblock 1 listening on port 8080 makes the decision to send the request to the strict or not-strict Naxsi</div><div>Serverblock 2 listening on port 8081 applies the strict rules<br></div><div>Serverblock 3 listening on port 8082 applies the less-strict rules<br></div><div><br></div><div>This works!</div><div><br></div><div>Thanks for your help,</div><div><br></div><div>JP</div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 13, 2017 at 8:30 PM, Aziz Rozyev <span dir="ltr"><<a href="mailto:arozyev@nginx.com" target="_blank">arozyev@nginx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hello,<br>
<br>
how about logs? does naxisi provide any variables that can be monitored?<br>
<br>
so far it seems that your rules in ‘strict|relaxed’ are not triggering, the ‘default’<br>
one will always hit (as expected), as it’s first location ‘/‘ from where you route to other 2 locations.<br>
<br>
also, try to log in debug mode, may be that will give more insights.<br>
<br>
br,<br>
Aziz.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
> On 13 Nov 2017, at 21:47, Jean-Paul Hemelaar <<a href="mailto:hemelaar@desikkel.nl">hemelaar@desikkel.nl</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I have updated the config to use 'map' instead of the if-statements. That's indeed a better way.<br>
> The problem however remains:<br>
><br>
> - Naxsi mainrules are in the http-block<br>
> - Config similar to:<br>
><br>
>     map $geoip_country_code $ruleSetCC {<br>
>         default "strict";<br>
>         CC1 "relaxed";<br>
>         CC2 "relaxed";<br>
>     }<br>
><br>
>     location /strict/ {<br>
>        include /usr/local/nginx/naxsi.rules.<wbr>strict;<br>
><br>
>        proxy_pass  <a href="http://app-server/" rel="noreferrer" target="_blank">http://app-server/</a>;<br>
>     }<br>
><br>
>     location /relaxed/ {<br>
>        include /usr/local/nginx/naxsi.rules.<wbr>relaxed;<br>
><br>
>        proxy_pass  <a href="http://app-server/" rel="noreferrer" target="_blank">http://app-server/</a>;<br>
>     }<br>
><br>
>     location / {<br>
>        include /usr/local/nginx/naxsi.rules.<wbr>default;<br>
><br>
>        set $ruleSet $ruleSetCC;<br>
>        rewrite ^(.*)$ /$ruleSet$1 last;<br>
>     }<br>
><br>
><br>
> It's always using naxsi.rules.default. If this line is removed it's not using any rules (pass-all).<br>
><br>
> Thanks so far!<br>
><br>
> JP<br>
><br>
><br>
><br>
><br>
><br>
> On Mon, Nov 13, 2017 at 2:14 PM, Aziz Rozyev <<a href="mailto:arozyev@nginx.com">arozyev@nginx.com</a>> wrote:<br>
> At first glance config looks correct, so probably it’s something with naxi rulesets.<br>
> Btw, why don’t you use maps?<br>
><br>
> map $geoip_coutnry_code $strictness {<br>
>   default “strict";<br>
>   CC_1    “not-so-strict";<br>
>   CC_2    “not-so-strict";<br>
>   # .. more country codes;<br>
> }<br>
><br>
> # strict and not-so-strict locations<br>
><br>
> map $strictness $path {<br>
>    "strict”         "/strict/";<br>
>    "not-so-strict”  "/not-so-strict/“;<br>
> }<br>
><br>
> location / {<br>
>    return 302 $path;<br>
>    # ..<br>
> }<br>
><br>
><br>
> br,<br>
> Aziz.<br>
><br>
><br>
><br>
><br>
><br>
> > On 12 Nov 2017, at 14:03, Jean-Paul Hemelaar <<a href="mailto:hemelaar@desikkel.nl">hemelaar@desikkel.nl</a>> wrote:<br>
> ><br>
> > T THIS WORKS:<br>
> >      # include /usr/local/n<br>
><br>
> ______________________________<wbr>_________________<br>
> nginx mailing list<br>
> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
><br>
> ______________________________<wbr>_________________<br>
> nginx mailing list<br>
> <a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
<br>
______________________________<wbr>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a></div></div></blockquote></div><br></div></div>