Le proxy SNI peut proxy les connexions HTTP et TLS entrantes en fonction du nom d'hôte contenu dans la demande initiale de cette session TCP. Cette fonctionnalité permet à l'hébergement virtuel basé sur le nom HTTPS d'être utilisé sur des serveurs principaux séparés sans installer de clé privée sur la machine proxy. Il lève également la restriction TLS d'un IP par certificat.
Cet article explique comment configurer un serveur proxy SNI. Il a été écrit pour Debian 7 x64. SNI Proxy est un logiciel open source écrit par Dustin Lundquist.
Installer le proxy SNI
Mettez à jour votre système Debian.
apt-get update && apt-get dist-upgrade
Installez les dépendances requises.
apt-get install autotools-dev cdbs debhelper dh-autoreconf dpkg-dev gettext libev-dev libpcre3-dev pkg-config git -y
Installez 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
Installez le proxy SNI.
git clone https://github.com/dlundquist/sniproxy
cd sniproxy
./autogen.sh && ./configure
make && make install
Modifiez le /etc/sniproxy.conffichier. Vous pouvez ajouter des sites que vous souhaitez proxy en utilisant des caractères génériques. Voir l'exemple ci-dessous.
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
}
Une fois la configuration de votre serveur terminée, démarrez le proxy SNI avec la commande suivante.
sniproxy
Prendre plaisir!