Re: [squid-users] help with squid redirectors

From: Osmany <osmany_at_oc.quimefa.cu>
Date: Mon, 14 Mar 2011 10:55:08 -0400

thanks for the reply. Ok so now I've modified the script with your
suggestion and I get this in my access.log

http://dnl-16.geo.kaspersky.com/ftp://dnl-kaspersky.quimefa.cu:2122/Updates/.com/index/u0607g.xml.klz

I'm pretty sure this is not working for the clients. I'm looking for it
to return something like this:

http://dnl-16.geo.kaspersky.com/ftp://dnl-kaspersky.quimefa.cu:2122/Updates/index/u0607g.xml.klz

I've changed the script many time so that I can get what I want but I
had no success. can you please help me?

On Sun, 2011-03-13 at 21:27 -0300, Marcus Kool wrote:
> Osmany,
> look in access.log.
> It should say what is happening:
> I expect this:
> ... TCP_MISS/301 GET http://kaspersky....
> ... TCP_MISS/200 GET ftp://dnl-kaspersky.quimefa.cu:2122/Updates
>
> and does the client use Squid for the ftp protocol ??
>
> And the RE matches too many strings.
> I recommend to rewrite it to something like this:
>
> if ($url =~ /^http:\/\/dnl.*\.kaspersky\.com\/(.*)/) {
> my $newurl;
> $newurl = "ftp:\/\/dnl-kaspersky\.quimefa\.cu\:2122\/Updates/$1"; # Note the $1
> print $X[0]." 301:$newurl\n";
> }
>
> Marcus
>
> Osmany wrote:
> > So finally this is what I have and it works perfectly. But I want to go
> > further than this. I want the clients to download what they've requested
> > from my local urls. For example...if a client wants to update their
> > Kaspersky antivirus and it requests for an internet update server, I
> > want it to actually get redirected to my ftp and download what it wants
> > from here. So far what I've accomplished is that any request gets
> > redirected to the specified url but it doesn't follow the path of the
> > file that the client requested.
> >
> > #!/usr/bin/perl
> > BEGIN {$|=1}
> > while (<>) {
> > @X = split;
> > $url = $X[1];
> > if ($url =~ /^http:\/\/(.*)kaspersky(.*)/) {
> > print $X[0]." 301:ftp:\/\/dnl-kaspersky\.quimefa\.cu\:2122\/Updates
> > \n";
> > }
> > elsif ($url =~ /^http:\/\/(.*)update(.*)/) {
> > print $X[0]." 301:http:\/\/windowsupdate\.quimefa\.cu\:8530\n";
> > }
> > else {
> > print $X[0]."\n";
> > }
> > }
> >
> > Can anybody help me with this?
> >
> >
> >
Received on Mon Mar 14 2011 - 14:59:49 MDT

This archive was generated by hypermail 2.2.0 : Mon Mar 14 2011 - 12:00:02 MDT