Das Problem besteht darin, dass Windows 7 versucht, eingehende VPN-Verbindungen mit allen unterstützten Protokollen zu akzeptieren, einschließlich SSTP (Secure Socket Tunneling Protocol) . SSTP ist im Grunde genommen PPP-getunnelt über SSL und verwendet standardmäßig denselben Port 443 wie normale HTTPS-Verbindungen. Durch diese Verwendung von Port 443 kann SSTP viele HTTP-Proxys passieren, die eine Verbindung zu HTTPS-Servern ermöglichen. Leider führt dies auch zu Konflikten mit der Ausführung eines HTTPS-Servers auf demselben Computer wie der SSTP-VPN-Server - es sei denn, der HTTPS-Server ist Microsoft IIS, das http.sys
zur Verarbeitung von HTTP- und HTTPS-Anforderungen denselben Kerneltreiber wie der SSTP-Server verwendet.
Beachten Sie, dass eingehende SSTP-Verbindungen höchstwahrscheinlich fehlschlagen werden, da Ihr Computer möglicherweise nicht über ein entsprechendes Serverzertifikat verfügt, um diese zu akzeptieren. Wahrscheinlich werden RasSstp / 18-Warnereignisse im Systemereignisprotokoll angezeigt, die über diese Probleme informieren. Dies hindert das System jedoch nicht daran, den Port 443 zu belegen, selbst wenn die SSTP-Client-Verbindungen dazu tatsächlich fehlschlagen.
Im Routing- und RAS-Blog finden Sie einige nützliche Artikel zu SSTP . Es ist mir jedoch nicht gelungen, eine Methode zum Deaktivieren der SSTP-Verwendung nur für den VPN-Server zu finden. Es ist möglich, das Gerät "WAN Miniport (SSTP)" im Geräte-Manager zu deaktivieren (nachdem die Option "Versteckte Geräte anzeigen" aktiviert wurde), dies kann jedoch auch ausgehende VPN-Verbindungen von demselben Computer betreffen.
Es gibt jedoch einen Artikel zur SSTP-Serverkonfiguration und KB947054 , in dem eine Möglichkeit beschrieben wird, den vom SSTP-Server verwendeten Port zu ändern, um eingehende Verbindungen zu akzeptieren. Suchen Sie mit einem Registrierungseditor den folgenden Unterschlüssel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Sstpsvc\Parameters
ListenerPort
Stellen Sie dann den DWORD-Wert auf die Portnummer ein, die für eingehende SSTP-Verbindungen verwendet werden soll. Stellen Sie sicher, dass Sie einen Dezimalwert angeben (standardmäßig ist das Optionsfeld "Hex" aktiviert). Wählen Sie einen Port aus, der nicht mit anderen vom System oder Ihren Anwendungen verwendeten Ports in Konflikt steht.
Starten Sie den Dienst "Routing und RAS" neu, um die neue Einstellung zu übernehmen. Überprüfen Sie die Ausgabe des netstat -aon
Befehls, um sicherzustellen, dass der neu angegebene Port jetzt verwendet wird und der Port 443 nicht mehr verwendet wird.
Dies ist eine alte Frage, aber ich möchte einige andere Optionen hinzufügen.
Der Vorteil von beiden ist, dass Sie SSTP weiterhin auf Port 443 verwenden können. Dies ist besonders nützlich, da dieser Port in den meisten Firewalls für Unternehmen, Hotels, Hotspots usw. geöffnet ist, sodass Sie eine VPN-Verbindung einrichten können, in der PPTP / IPSec / ... würde fehlschlagen.
Verwenden Sie IIS anstelle von Apache
Sie können fast alles (wie PHP) unter IIS ausführen, das auch unter Apache ausgeführt wird.
Mit dem Microsoft Web Platform-Installationsprogramm können Sie dies für Sie einrichten: http://www.microsoft.com/web/downloads/platform.aspx Von dort aus können Sie alle Arten von Frameworks installieren.
Wenn Sie speziell PHP möchten (dies startet nur den Web Platform Installer mit vorausgewähltem PHP): http://www.microsoft.com/web/platform/phponwindows.aspx
Dies wird auch unter Windows viel schneller sein als bei Apache.
Apache wird von IIS als Reverse-Proxy bereitgestellt
Lassen Sie IIS auf Port 443 lauschen (SSL-Offloading) und an Apache weiterleiten (auf Port 80 oder etwas anderem).
Suchen Sie bei Google nach "IIS-Reverseproxy". Ihre Optionen sind URL-Umschreibung oder Application Request Routing (ARR).
Einige Webanwendungen müssen möglicherweise speziell konfiguriert werden, um hinter einem Reverse-Proxy zu funktionieren, da die eingehende URL vom Proxy geändert wird.
quelle
Ich habe eine VBS-Datei erstellt, um den Port des SSTP schnell zu ändern.
Kopieren Sie diese und fügen Sie sie in ein neues Textdokument ein und ändern Sie die Erweiterung in
.vbs
.Sie können dieses Skript auch hier herunterladen .
Nachdem der Port geändert wurde, müssen Sie als Administrator zur Eingabeaufforderung wechseln (eine
cmd.exe
Verknüpfung erstellen und als Administrator ausführen). Dann geben Sie diese beiden Befehle ein:quelle