valid_referers dynamic hostname

vlad031@binkmail.com nginx-forum at nginx.us
Fri May 24 11:10:47 UTC 2013


Thanks alot! I made a logical error when writing your expression by thinking
that it will negate the comparison.

Also, I appreciate you have explained that http/https matching as I was
confused.


My best regards,
Vlad



Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Mon, May 20, 2013 at 02:14:02PM -0400, vlad031 at binkmail.com wrote:
> 
> > Hello,
> > 
> > Thank you for your example Maxim. This is what I've wrote in my
> config:
> > 
> > set $temp "$host:$http_referer";
> > 
> > valid_referers none blocked server_names ~\.google\. ~\.yahoo\.
> ~\.bing\.
> > ~\.ask\. ~\.live\. ~\.googleusercontent.com\. ;
> > 
> > if ($invalid_referer){
> >     set $test A ;
> > }
> > 
> > if ($temp ~* "^(.*):http?://\1") {
> >     set $test "${test}B";
> > }
> 
> Just a side note: this statement isn't needed.  Both http and 
> https schemes are allowed by a "https?" in the regular expression 
> I provided, "?" makes preceeding character option.
> 
> > 
> > if ($temp ~* "^(.*):https?://\1") {
> >     set $test "${test}C";
> > }
> > 
> > if ($test = ABC) {
> >     return 444 ;
> > }
> > 
> > It is always returning 444 ... what am I doing wrong?!
> 
> You probably mean to write
> 
>     if ($test = A) {
>         return 444;
>     }
> 
> instead, as your initial message suggests you want to allow 
> requests where Referer matches Host.
> 
> -- 
> Maxim Dounin
> http://nginx.org/en/donation.html
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,239318,239507#msg-239507



More information about the nginx mailing list