Yes, I've read the mail but I think that it is better to post it here... ;-)
The main problem is that if I rewrite the $url (localhost [::1], or
[5001::52] [3001::52] that are the addresses of the interfaces) it doesn't
work. If I rewrite $url with "302:" code in front it works... but the
behavior of the system is completely different.
Replying to your requests, I'm working on 4 virtual machine called origin,
core, mobile1, mobile2. In the origin and mobile I have apache servers
running... those are my caches!!! When I write localhost, I want to redirect
to the apache link
example:
I receive GET for http://[6001::101]/Big/big1.avi and I want to rewrite it
like http://[5001::52]/Big/big1.avi, that is the link to the apache in the
same machine where Squid is installed. This is not working. But if I
redirect to another machine http://[4001::52]/Big/big1.aviwith apache it
works.
OK?
*[rewriter_code]*
#!/usr/bin/perl
use warnings;
use strict;
use Fcntl ':flock';
require '/home/alberto/NodeConfig.pm'; #
dir/.../NodeConfig.pm
my $dirDB = ($NodeConfig::dir_DB); #
directory local database
my $db_name = ($NodeConfig::name_DB); # name of
local database
my $node_address = ($NodeConfig::node_address); # MAR's
address
my $DM_address = ($NodeConfig::DM_address); # DM's
address
my $dir_apache = ($NodeConfig::dir_Apache); #
directory of contents (Apache server)
my $dir_DM = ($NodeConfig::dir_DM); #
directory where there is the DM_req.pl in DM
my $rootpwd = ($NodeConfig::root_pwd); # password
for root access (to send the request to DM)
$|=1;
#-------------------------------------------------------------------------------------------------------------
#------------------------ PARAMETERS (modifying only ip address oCDN)
----------------------------------------
while (<>) {
my @params_http = split;
# parameters of http request
my $url = $params_http[0]; # url of
http request
my $ip_client = $params_http[1]; # ip client oh http
request
my $absTime = time();
# absolute time in seconds
my $db_name = ($NodeConfig::name_DB);
my $node_address = ($NodeConfig::node_address);
my @copie;
#----------------------------- REWRITE URL SQUID FUNCTION
----------------------------------------------------
# Check if there is the content inside he cache:
# if YES --> Go directly to MAR's cache
# if NO --> Forward the request to DM and wait the
best cache or Origin path
open(LIST1, "< $dirDB"."$db_name"); # open local database for
READ
flock ( LIST1, LOCK_SH );
my @copieS=<LIST1>;
flock ( LIST, LOCK_UN );
close(LIST1);
my $c;
for $ind(0..$#copieS) {
my @values = split(';', $copieS[$ind]);
my $original = $values[0];
my $copy = $values[1];
my $iT1 = $values[2];
# seeking in the datbase if the content is in the
cache
if (($url eq $original)and($iT1 eq "Y")) {
my @val1 = split('/', $url);
if (-e
"$dir_apache"."$val1[3]"."/"."$val1[4]") {
my $newURL = "$val1[0]//$node_address/$val1[3]/$val1[4]";
print "$newURL\n";
#print "302:"."$newURL\n";
exit;
}
}
}
# request to DM for best position of content (Origin or others MARs)
my $req = request($DM_address,$dir_DM,$url,$node_address);
print "$req\n";
}
#--------------------------------------- END rewriteurl.pl
---------------------------------------------------
#------------------------------------ Soubroutine to Forward the request to
DM -------------------------------
# subroutine to send the request for best position to DM (ssh call)
sub request {
my $DM_address = $_[0];
my $dir_DM = $_[1];
my $url = $_[2];
my $node_address = $_[3];
my $length = length($DM_address);
my $DM_addressSSH = substr($DM_address,1,$length-2);
my $req_DM = "sshpass -p '$rootpwd' ssh -o
StrictHostKeyChecking=no root@"."$DM_addressSSH"." \'cd $dir_DM && ".'perl
'."$dir_DM".'DM_req.pl'." $url $node_address\'";
$req_DM = `$req_DM`;
return $req_DM;
-- View this message in context: http://squid-web-proxy-cache.1019090.n4.nabble.com/Squid-3-2-2-localhost-tp4657098p4657103.html Sent from the Squid - Users mailing list archive at Nabble.com.Received on Tue Oct 23 2012 - 10:09:02 MDT
This archive was generated by hypermail 2.2.0 : Wed Oct 24 2012 - 12:00:04 MDT