SQUID Reverse Proxy — forzare le connessioni in HTTPS

Nel caso ci sia la necessità di forzare le connessioni in HTTPS da parte di un reverse proxy con Squid, tramite la direttiva redirect_url  è possibile fare si che il traffico HTTP in ingresso venga rediretto in HTTPS mantenendo il resto dell’URL invariato.
La funzione $url =~ s/^http:/301:https:/ impone al browser la redirezione in HTTPS.

#!/usr/bin/perl
# URL rewriter per SQUID Http—>Https

$| = 1;
while (<>) {

my @X = split;
my $url = $X[0];

$url =~ s/^http:/301:https:/;

print “$urln”;

}


Può essere utile in fase di test rilevare lo stato della variabile $url passata da squid allo script e la modifica che verrà ritornata allo squid e successivamente al client, è possibile redirigere su file il contenuto della variabile stessa.

#!/usr/bin/perl
# URL rewriter per SQUID Http—>Https

$| = 1;
while () {

my @X = split;
my $url = $X[0];

######## Dichiarazione output $url proveniente da SQUID per TEST ############
my $filename = “/squid/Redirect/test.txt”;
open FILE, “>>$filename”;
print FILE “>>>>>>—–variabile IN—–>>>>>> “;
print FILE $url;
print FILE “n”;
close FILE;
######## FINE Dichiarazione output $url proveniente da SQUID per TEST

$url =~ s/^http:/301:https:/;

######## Dichiarazione output $url restituita a SQUID per TEST ############
my $filename = “/squid/Redirect/test.txt”;
open FILE, “>>$filename”;
print FILE “<<<<<<—–variabile OUT—–<<<<<< “;
print FILE $url;
print FILE “n”;
close FILE;
######## FINE Dichiarazione output $url restituita a SQUID per TEST
print “$urln”;

}

Si rimanda, per approfondimento sui codici di redirezione, alle pagine seguenti:

http://en.wikipedia.org/wiki/HTTP_302

http://en.wikipedia.org/wiki/HTTP_301

in breve il codice 301 è utilizzato per redirezioni permanenti, mentre il codice 302 è indicato in caso di redirezioni temporanee

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...