Il proxy SNI può eseguire il proxy di entrambe le connessioni HTTP e TLS in arrivo in base al nome host contenuto nella richiesta iniziale di quella sessione TCP. Questa funzionalità consente di utilizzare l'hosting virtuale basato sul nome HTTPS su server back-end separati senza installare una chiave privata sul computer proxy. Inoltre, elimina la limitazione TLS di un IP per certificato.
Questo articolo spiega come impostare un server proxy SNI. È stato scritto per Debian 7 x64. SNI Proxy è un software open source scritto da Dustin Lundquist.
Installa il proxy SNI
Aggiorna il tuo sistema Debian.
apt-get update && apt-get dist-upgrade
Installa le dipendenze richieste.
apt-get install autotools-dev cdbs debhelper dh-autoreconf dpkg-dev gettext libev-dev libpcre3-dev pkg-config git -y
Installa udns.
mkdir udns
cd udns
wget http://ftp.de.debian.org/debian/pool/main/u/udns/udns_0.4-1.dsc
wget http://ftp.de.debian.org/debian/pool/main/u/udns/udns_0.4.orig.tar.gz
wget http://ftp.de.debian.org/debian/pool/main/u/udns/udns_0.4-1.debian.tar.gz
tar xfz udns_0.4.orig.tar.gz
cd udns-0.4/
tar xfz ../udns_0.4-1.debian.tar.gz
dpkg-buildpackage
cd ..
dpkg -i *.deb
Installa proxy SNI.
git clone https://github.com/dlundquist/sniproxy
cd sniproxy
./autogen.sh && ./configure
make && make install
Modifica il /etc/sniproxy.conf
file. È possibile aggiungere siti che si desidera proxy utilizzando i caratteri jolly. Vedi l'esempio sotto.
user nobody
pidfile /var/run/sniproxy.pid
error_log {
syslog deamon
priority notice
}
listen 80 {
proto http
table hosts
}
listen 443 {
proto tls
table hosts
}
table hosts{
.*\.google\.com$ *
.*\.google\.com\.hk$ *
google.com google.com
google.com.hk google.com.hk
}
Una volta terminata la configurazione del server, avviare il proxy SNI con il comando seguente.
sniproxy
Godere!