Se o cliente estiver falando com um site que fala HTTP, mas não com HTTPS, não será possível "fazer" ele falar HTTPS. O site em si tem que suportar HTTPS. Muitos sites suportam HTTP e HTTPS, mas existem alguns que ainda fazem HTTP.
IMHO, isso é melhor abordado com um suplemento do navegador, mas o Squid permite filtrar as solicitações por meio de um script que pode reescrever essas solicitações. Então você pode fazer algo como isso, extraído abaixo :
Here's how I do exactly that. In squid.conf:
url_rewrite_program /usr/local/bin/rewrite-http
and then:
% cat /usr/local/bin/rewrite-http
#!/usr/bin/perl
#
# URL rewriter for squid to convert HTTP requests to HTTPS.
# Return an HTTP permanent redirect back to the browser.
# http://wiki.squid-cache.org/SquidFaq/SquidRedirectors
#
$| = 1;
while (<>) {
s/^http:/301:https:/; # replace "http" with "https"
print;
}
Mas isso quebrará qualquer site que não tenha um equivalente HTTPS no mesmo nome de domínio.
Você poderia tornar esse script um pouco mais elaborado e verificar se há uma lista de domínios conhecidos e redirecioná-los apenas. Note, no entanto, uma vez que cada solicitação HTTP passa pelo proxy, isso poderia atrasar as coisas para todos usando o proxy, especialmente em um sistema de baixa potência como o Raspberry Pi.