Stop users accessing website via IP address

Travis Crowder travis.crowder at spechal.com
Sun Jul 28 05:03:44 CEST 2013


Your regular expression is malformed and you don't do any capturing or replacement in the regsub function so I am not sure what you're trying to accomplish there.

Can you elaborate on what you're trying set this header's value to?

-Travis Crowder


On Jul 27, 2013, at 9:38 PM, Puneet <puneet.arora at insticator.com> wrote:

> HI Travis,
>  
> Thanks for the reply.
> I think that should work.
>  
> Just one question.
> In sub vcl_error() should I also change the
>  
> set req.http.X-REDIRURL = regsub(req.url,"https?://[^/$]+", "http://mywebsite.com");
> TO : à
> set req.http.X-REDIRURL = regsub(req.http.host,"https?://[^/$]+", "http://mywebsite.com");
> ?
>  
> Because when replace req.url with req.http.host, It again stops working.
> And If I don’t do it, the bowser gives an error “Too many redirects”
>  
> Thanks
> Puneet
>  
> From: Travis Crowder [mailto:travis.crowder at spechal.com] 
> Sent: Saturday, July 27, 2013 7:53 PM
> To: Puneet
> Cc: varnish-misc at varnish-cache.org
> Subject: Re: Stop users accessing website via IP address
>  
> Check against req.http.Host
>  
> In vcl_recv:
>  
>      if(req.http.Host ~ "8.8.8.8") {
>          error 750;
>      }
>  
> -Travis Crowder
>  
> On Jul 27, 2013, at 3:48 PM, Puneet <puneet.arora at insticator.com> wrote:
> 
> 
> Hi all,
> 
> I want to stop the users accessing my website via IP address.
> I am using varnish as cache.
> I have the following code in place but it is not working.
> 
> In vcl_recv() {
>      if(req.url ~ "XX.XX.XXX.XXX") {
>      error 750 "Moved Permanently";
>   } } 
> 
> And in vcl_error()
> sub vcl_error {
>     if (obj.status == 750) {
>     set req.http.X-REDIRURL = regsub(req.url,"https?://[^/$]+", "http://mywebsite.com");
>     set obj.http.Location = req.http.X-REDIRURL;
>     set obj.status = 301;
>     unset req.http.X-REDIRURL;
>     return(deliver);
> }
> 
> But this does not redirect the user to the website, instead it delivers the page.
> Can anyone tell what I am missing?
>  
> Thanks
> Puneet
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20130727/d5a8f122/attachment.html>


More information about the varnish-misc mailing list