Übersicht über den TCP/TLS-Proxy des Anwendungsgateways (Vorschau)

Zusätzlich zu den vorhandenen Ebene 7-Funktionen (HTTP, HTTPS, WebSockets und HTTP/2) unterstützt Azure Application Gateway jetzt auch Ebene 4 (TCP-Protokoll) und TLS (Transport Layer Security)-Proxying. Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Informationen zur Vorschau dieser Funktion finden Sie unter Registrieren für die Vorschau.

TLS/TCP-Proxyfunktionen in Application Gateway

Als Reverseproxydienst funktionieren die Ebene 4-Vorgänge des Anwendungsgateways ähnlich wie ihre Ebene 7-Proxyvorgänge. Ein Client stellt eine TCP-Verbindung mit dem Anwendungsgateway her und das Anwendungsgateway selbst initiiert eine neue TCP-Verbindung mit einem Back-End-Server aus dem Back-End-Pool. Die folgende Abbildung zeigt einen typischen Vorgang.

Overview diagram of how TCP/TLS proxy works.

Prozessablauf:

  1. Ein Client initiiert eine TCP- oder TLS-Verbindung mit dem Anwendungsgateway mithilfe der IP-Adresse und Portnummer des Front-End-Listeners. Dadurch wird die Front-End-Verbindung hergestellt. Sobald die Verbindung hergestellt wurde, sendet der Client eine Anforderung mithilfe des erforderlichen Anwendungsschichtprotokolls.
  2. Das Anwendungsgateway stellt eine neue Verbindung mit einem der Back-End-Ziele aus dem zugeordneten Back-End-Pool (bilden die Back-End-Verbindung) her und sendet die Clientanforderung an diesen Back-End-Server.
  3. Die Antwort vom Back-End-Server wird vom Anwendungsgateway an den Client zurückgesendet.
  4. Die gleiche Front-End-TCP-Verbindung wird für nachfolgende Anforderungen vom Client verwendet, es sei denn, der TCP-Leerlauftimeout schließt diese Verbindung.

Vergleich von Azure Load Balancer mit Azure Application Gateway:

Produkt type
Azure-Lastenausgleich Ein Passthrough-Lastenausgleich, bei dem ein Client direkt eine Verbindung mit einem Back-End-Server herstellt, der über den Verteilungsalgorithmus des Lastenausgleichs ausgewählt wird.
Azure Application Gateway Beenden des Lastenausgleichs, bei dem ein Client direkt eine Verbindung mit Application Gateway und eine separate Verbindung mit einem Back-End-Server herstellt, der über den Verteilungsalgorithmus von Application Gateway ausgewählt wird.

Features

  • Verwenden Sie einen einzelnen Endpunkt (Frontend-IP), um HTTP- und Nicht-HTTP-Workloads zu bedienen. Ein und dasselbe Anwendungsgateway kann Ebene 7- und Ebene 4-Protokolle unterstützen: HTTP(S), TCP oder TLS. Alle Ihre Clients können eine Verbindung mit demselben Endpunkt herstellen und auf verschiedene Back-End-Anwendungen zugreifen.
  • Verwenden Sie eine benutzerdefinierte Domäne für jeden Back-End-Dienst. Mit dem Frontend für Anwendungsgateway V2 SKU als öffentliche und private IP-Adressen können Sie jeden benutzerdefinierten Domänennamen so konfigurieren, dass er über einen Adresseintrag (A) auf seine IP-Adresse verweist. Darüber hinaus können Sie mit TLS-Abschluss und Support für Zertifikate von einer privaten Zertifizierungsstelle (ZS) eine sichere Verbindung in der Domäne Ihrer Wahl sicherstellen.
  • Verwenden Sie einen Back-End-Server von einem beliebigen Speicherort (Azure oder lokal). Die Back-Ends für das Anwendungsgateway können sein:
    • Azure-Ressourcen wie virtuelle IaaS-Computer, Skalierungssätze für VM oder PaaS (App Services, Event Hubs, SQL)
    • Remoteressourcen wie lokale Server, auf die über FQDN oder IP-Adressen zugegriffen werden kann
  • Wird für ein nur privates Gateway unterstützt. Mit der Unterstützung von TLS und TCP-Proxy für private Anwendungsgateway-Bereitstellungen können Sie HTTP- und Nicht-HTTP-Clients in einer isolierten Umgebung unterstützen und so die Sicherheit erhöhen.

Begrenzungen

  • Ein WAF v2-SKU-Gateway ermöglicht die Erstellung von TLS- oder TCP-Listenern und Back-Ends, um HTTP- und nicht-HTTP-Datenverkehr über dieselbe Ressource zu unterstützen. Es prüft jedoch keinen Datenverkehr auf TLS- und TCP-Listenern auf Exploits und Sicherheitsrisiken.
  • Der Standardwert für die Abfluss-Zeitüberschreitung für Backend-Server ist 30 Sekunden. Zurzeit wird ein benutzerdefinierter Abflusswert nicht unterstützt.
  • Die Client-IP-Beibehaltung wird derzeit nicht unterstützt.

Nächste Schritte