Squid com php ou perl “url_rewrite_program” no windows

3

Eu quero redirecionar todo o tráfego do meu proxy HTTP para um script perl ou php.

Eu tenho uma configuração de trabalho do squid, e tenho isso no meu squid.conf

url_rewrite_program "c:\squid\redirect.pl"

Mas quando eu inicio o squid no console ele existe com terminação anormal do programa e isso está no cache.log:

    2012/03/23 19:26:12| helperOpenServers: Starting 5 'c:\squid\php\redirect.pl' processes
2012/03/23 19:26:12| ipcCreate: CHILD: c:\squid\php\redirect.pl: (8) Exec format error
2012/03/23 19:26:12| ipcCreate: PARENT: OK read test failed
2012/03/23 19:26:13| --> read returned 4

O mesmo acontece com o script PHP. Os scripts estão funcionando bem quando eu executo diretamente no console.

Conteúdo do script perl:

#!/usr/bin/env perl
$|=1;
while (<>) {
  $url = m/^([^ ]*)/;
  if ($url !~ /^http:\/\/www\.hostname\.com/) {
    $url =~ s@^http://www\.hostname\.com/(.*)@http://www.hostname.com/@;
    print "301:$url\n";
  } else {
    print "$url\n";
  }
}
enter code here
    
por Rutger van Baren 23.03.2012 / 20:29

1 resposta

1

De link :

Squid doesn't know how to run external helpers based on scripts, like .bat, .cmd, .vbs, .pl, etc. So in squid.conf the interpreter path must be always specified, for example:

url_rewrite_program c:/perl/bin/perl.exe c:/squid/libexec/redir.pl

    
por 29.03.2012 / 07:26