Wie konfiguriere ich den NGINX Ingress Controller, um den Client-Anforderungstext zu vergrößern, CORS zu aktivieren, um zusätzliche Header zu erlauben, und WebSocket für die Arbeit mit Amazon EKS zu verwenden?

Lesedauer: 2 Minute
0

Ich möchte den NGINX Ingress Controller so konfigurieren, dass der Client-Anforderungstext mit meinem Amazon Elastic Kubernetes Service (Amazon EKS)-Cluster vergrößert wird. Ich möchte auch Cross-Origin Resource Sharing (CORS) aktivieren, um zusätzliche Header zu erlauben, und WebSocket mit dem NGINX Ingress Controller verwenden.

Kurzbeschreibung

Wählen Sie eine der folgenden Konfigurationsoptionen:

  • Um den Client-Anforderungstext zu vergrößern, führen Sie die Schritte im Abschnitt Maximale Textgröße konfigurieren aus.
  • Um CORS zu aktivieren und zusätzliche Header zu erlauben, führen Sie die Schritte im Abschnitt CORS aktivieren aus.
  • Um WebSocket mit dem NGINX Ingress Controller zu verwenden, führen Sie die Schritte im Abschnitt WebSocket verwenden aus.

Auflösung

Maximale Textgröße anpassen

Wenn Ihre Anforderung für die Textgröße die maximal zulässige Größe des Client-Anforderungstextes überschreitet, gibt der NGINX Ingress Controller einen HTTP-413-Fehler wider. Verwenden Sie den Parameter client_max_body_size, um eine größere Textgröße zu konfigurieren:

nginx.ingress.kubernetes.io/proxy-body-size: 8m

Hinweis: Der Standardwert der Proxy-Textgröße ist 1 M. Stellen Sie sicher, dass Sie die Nummer auf die benötigte Größe ändern.

Hinweis: In einigen Fällen müssen Sie möglicherweise die maximale Größe für alle Post-Textdaten und Datei-Uploads erhöhen. Für PHP müssen Sie die Werte post_max_size und upload_max_file_size in der Konfiguration php.ini erhöhen.

CORS aktivieren

Um CORS in einer Ingress-Regel zu aktivieren, fügen Sie die folgende Anmerkung hinzu:

nginx.ingress.kubernetes.io/enable-cors: "true"

Das folgende Beispiel zeigt, dass der Header X-Forwarded-For akzeptiert wird:

nginx.ingress.kubernetes.io/cors-allow-headers: "X-Forwarded-For"

Weitere Header finden Sie im Abschnitt CORS aktivieren (von der GitHub-Website) der NGINX-Ingress-Controller-Dokumentation.

WebSocket verwenden

NGINX unterstützt WebSocket (von der NGINX-Website) Version 1.3 oder höher ohne Anforderungen. Um eine geschlossene Verbindung zu vermeiden, müssen Sie die Werte proxy-read-timeout und proxy-send-timeout erhöhen.

Im folgenden Beispiel sind 120 Sekunden für proxy-read-timeout und proxy-send-timeout festgelegt:

nginx.ingress.kubernetes.io/proxy-read-timeout: "120"
nginx.ingress.kubernetes.io/proxy-send-timeout: "120"

Hinweis: Der Standardwert der beiden vorhergehenden Anmerkungen beträgt 60 Sekunden.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren