SNI-Proxy kann sowohl eingehende HTTP- als auch TLS-Verbindungen basierend auf dem Hostnamen, der in der ersten Anforderung dieser TCP-Sitzung enthalten ist, als Proxy verwenden. Mit dieser Funktion kann das namenbasierte virtuelle HTTPS-Hosting auf separaten Back-End-Servern verwendet werden, ohne dass ein privater Schlüssel auf dem Proxy-Computer installiert werden muss. Außerdem wird die TLS-Beschränkung auf eine IP pro Zertifikat aufgehoben.
In diesem Artikel wird erläutert, wie Sie einen SNI-Proxyserver einrichten. Es wurde für Debian 7 x64 geschrieben. SNI Proxy ist Open Source-Software von Dustin Lundquist.
Installieren Sie den SNI-Proxy
Aktualisieren Sie Ihr Debian-System.
apt-get update && apt-get dist-upgrade
Installieren Sie die erforderlichen Abhängigkeiten.
apt-get install autotools-dev cdbs debhelper dh-autoreconf dpkg-dev gettext libev-dev libpcre3-dev pkg-config git -y
Installieren Sie 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
Installieren Sie den SNI-Proxy.
git clone https://github.com/dlundquist/sniproxy
cd sniproxy
./autogen.sh && ./configure
make && make install
Bearbeiten Sie die /etc/sniproxy.confDatei. Sie können Websites, für die Sie einen Proxy erstellen möchten, mithilfe von Platzhaltern hinzufügen. Siehe das folgende Beispiel.
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
}
Wenn Sie die Konfiguration Ihres Servers abgeschlossen haben, starten Sie SNI Proxy mit dem folgenden Befehl.
sniproxy
Genießen!