Stop users accessing website via IP address
Travis Crowder
travis.crowder at spechal.com
Sun Jul 28 06:15:42 CEST 2013
I guess I am confused as to why you need the rewrite.
sub vcl_recv {
if(req.http.Host ~ "8.8.8.8") { error 750; }
}
sub vcl_error {
if(obj.status == 750) {
set obj.http.Location = "http://google.com/login";
set obj.status = 302;
return (deliver);
}
}
On Jul 27, 2013, at 10:03 PM, Travis Crowder <travis.crowder at spechal.com> wrote:
> 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
>
> _______________________________________________
> 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/1d718d5d/attachment.html>
More information about the varnish-misc
mailing list