Citrix ADC Ingress Controller

Anwendungsfälle für HTTP

In diesem Thema werden verschiedene HTTP-Anwendungsfälle behandelt, die Sie auf dem Ingress Citrix ADC mithilfe der Anmerkungen im Citrix Ingress Controller konfigurieren können.

In der folgenden Tabelle sind die HTTP-Anwendungsfälle mit Beispielanmerkungen aufgeführt:

Anwendungsfall Beispiel für eine Anmerkung
Konfigurieren von HTTP/2 ingress.citrix.com/frontend-httpprofile: '{"http2":"enabled"}'
  ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled"}'
  ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled", "altsvc":"enabled"}'
Umgang mit Timeouts für HTTP-Sitzungen ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "reqtimeoutaction":"drop"}}'
  ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "adptimeout" : "enable"}}'
  ingress.citrix.com/backend-httpprofile: '{"apache":{"reusepooltimeout" : "20000"}}'

Konfigurieren von HTTP/2

Der Ingress Citrix ADC HTTP/2 auf der Clientseite sowie auf der Serverseite. Weitere Informationen finden Sie unter HTTP/2-Unterstützung auf Citrix ADC. Für eine HTTP-Lastausgleichskonfiguration auf dem Ingress Citrix ADC verwendet es eine der folgenden Methoden, um mit dem Client/Server über HTTP/2 zu kommunizieren.

Der Ingress Citrix ADC bietet konfigurierbare Optionen in einem HTTP-Profil für die HTTP/2-Methoden. Diese HTTP/2-Optionen können sowohl auf die Clientseite als auch auf die Serverseite eines HTTPS- oder HTTP-Lastausgleichs angewendet werden. Der Citrix Ingress Controller bietet Anmerkungen zum Konfigurieren des HTTP-Profils auf dem Ingress Citrix ADC. Sie verwenden diese Anmerkungen, um die verschiedenen HTTP-Lastausgleichskonfigurationen auf dem Ingress Citrix ADC zu konfigurieren, um mit dem Client/Server mithilfe von HTTP/2 zu kommunizieren.

Hinweis:

Stellen Sie sicher, dass der globale Parameter HTTP/2 Service Side (Http2ServerSide) auf dem Ingress Citrix ADC aktiviert ist. Weitere Informationen finden Sie unter nshttpparam.

HTTP/2-Aktualisierung

Bei dieser Methode sendet ein Client eine HTTP/1.1-Anforderung an einen Server. Die Anforderung enthält einen Upgrade-Header, der den Server auffordert, die Verbindung auf HTTP/2 zu aktualisieren. Wenn der Server HTTP/2 unterstützt, akzeptiert der Server die Upgrade-Anforderung und benachrichtigt ihn in seiner Antwort. Der Client und der Server beginnen mit der Kommunikation über HTTP/2, nachdem der Client die Upgrade-Bestätigungsantwort erhalten hat.

Mithilfe der Anmerkungen für HTTP-Profile können Sie die HTTP/2-Aktualisierungsmethode auf dem Ingress Citrix ADC konfigurieren. Im Folgenden finden Sie eine Beispielanmerkung des HTTP-Profils zum Konfigurieren der HTTP/2-Aktualisierungsmethode auf dem Ingress Citrix ADC:

ingress.citrix.com/frontend-httpprofile: '{"http2":"enabled"}'

Direkter HTTP/2

Bei dieser Methode beginnt ein Client direkt mit einem Server in HTTP/2 zu kommunizieren, anstatt die HTTP/2-Aktualisierungsmethode zu verwenden. Wenn der Server HTTP/2 nicht unterstützt oder nicht für die direkte Annahme von HTTP/2-Anfragen konfiguriert ist, löscht er die HTTP/2-Pakete vom Client. Diese Methode ist hilfreich, wenn der Administrator des Clientgeräts bereits weiß, dass der Server HTTP/2 unterstützt.

Mithilfe der Anmerkungen für HTTP-Profile können Sie die direkte HTTP/2-Methode auf dem Ingress Citrix ADC konfigurieren. Im Folgenden finden Sie eine Beispielanmerkung des HTTP-Profils zum Konfigurieren der direkten HTTP/2-Methode auf dem Ingress Citrix ADC:

ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled"}'

Direkte HTTP/2 mit Alternative Service (ALT-SVC)

Bei dieser Methode kündigt ein Server einem Client an, dass er HTTP/2 unterstützt, indem er in seiner HTTP/1.1-Antwort ein Feld für den alternativen Dienst (ALT-SVC) einschließt. Wenn der Client so konfiguriert ist, dass er das Feld ALT-SVC versteht, beginnen der Client und der Server direkt über HTTP/2 zu kommunizieren, nachdem der Client die Antwort erhalten hat.

Im Folgenden finden Sie eine Beispielanmerkung des HTTP-Profils zum Konfigurieren des direkten HTTP/2 mithilfe der Methode des alternativen Dienstes (ALT-SVC) auf dem Ingress Citrix ADC:

ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled", "altsvc":"enabled"}'

Umgang mit Timeouts für HTTP-Sitzungen

Um die verschiedenen Arten von HTTP-Anforderungen zu behandeln und Angriffe wie Slowloris DDoS-Angriffe zu mindern, bei denen in den Clients Verbindungen initiiert werden, die Sie möglicherweise einschränken möchten. Auf dem Ingress Citrix ADC können Sie die folgenden Timeouts für diese Szenarien konfigurieren:

  • reqTimeout and reqTimeoutAction
  • adptTimeout
  • reusePoolTimeout

reqTimeout and reqTimeoutAction

In Citrix ADC können Sie den Timeout-Wert für die HTTP-Anforderung und die Aktion für das Anforderungs-Timeout mithilfe des reqTimeoutAction Parameters reqTimeout und im HTTP-Profil konfigurieren. Der reqTimeout Wert wird in Sekunden festgelegt und die HTTP-Anforderung muss innerhalb der im reqTimeout Parameter angegebenen Zeit abgeschlossen werden. Wenn die HTTP-Anforderung nicht innerhalb einer definierten Zeit abgeschlossen wird, reqTimeoutAction wird die angegebene Anforderungs-Timeout-Aktion im ausgeführt. Der minimale Timeout-Wert, den Sie festlegen können, ist 0 und das Maximum ist 86400. Standardmäßig ist der Timeout-Wert auf 0 festgelegt.

Mithilfe des reqTimeoutAction Parameters können Sie die Art der Aktion angeben, die ausgeführt werden muss, falls der Timeout-Wert für die HTTP-Anforderung (reqTimeout) verstrichen ist. Sie können die folgenden Aktionen angeben:

  • RESET
  • DROP

Mithilfe der Anmerkungen für HTTP-Profile können Sie das Zeitlimit für die HTTP-Anforderung und die Aktion für das Timeout der HTTP-Anforderung konfigurieren. Im Folgenden finden Sie eine Beispielanmerkung des HTTP-Profils zum Konfigurieren des Timeouts der HTTP-Anforderung und der Timeout-Aktion für HTTP-Anforderungen auf dem Ingress Citrix ADC:

ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "reqtimeoutaction":"drop"}}'

adptTimeout

Anstatt einen festgelegten Timeout-Wert für die angeforderten Sitzungen zu verwenden, können Sie auch aktivieren adptTimeout. Der adptTimeout Parameter passt das Anforderungs-Timeout gemäß den Flussbedingungen an. Wenn aktiviert, wird das Anforderungs-Timeout intern erhöht oder verringert und auf den Flow angewendet. Standardmäßig ist dieser Parameter auf DISABLED festgelegt.

Mithilfe von Anmerkungen für HTTP-Profile können Sie den adpttimeout Parameter wie folgt aktivieren oder deaktivieren:

ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "adptimeout" : "enable"}}'

reusePoolTimeout

Sie können einen Zeitüberschreitungswert für Wiederverwendungspools konfigurieren, um Serververbindungen im Leerlauf aus dem Wiederverwendungspool zu löschen. Wenn sich der Server für die konfigurierte Zeit im Leerlauf befindet, werden die entsprechenden Verbindungen geleert.

Der minimale Timeout-Wert, den Sie festlegen können, ist 0 und das Maximum ist 31536000. Standardmäßig ist der Timeout-Wert auf 0 festgelegt.

Mithilfe von Anmerkungen für HTTP-Profile können Sie den erforderlichen Zeitüberschreitungswert wie folgt konfigurieren:

ingress.citrix.com/backend-httpprofile: '{"apache":{"reusepooltimeout" : "20000"}}'
Anwendungsfälle für HTTP