Come faccio a configurare il controller di ingresso NGINX per aumentare il corpo delle richieste del client, attivare CORS per consentire intestazioni aggiuntive e utilizzare WebSocket con Amazon EKS?

2 minuti di lettura
0

Desidero configurare NGINX Ingress Controller per aumentare le dimensioni del corpo della richiesta del client con il mio cluster Amazon Elastic Kubernetes Service (Amazon EKS). Desidero anche attivare Cross-Origin Resource Sharing (CORS) per consentire intestazioni aggiuntive e utilizzare WebSocket con il controller di ingresso NGINX.

Breve descrizione

Scegli una delle seguenti opzioni di configurazione:

  • Per aumentare le dimensioni del corpo della richiesta del client, completa i passaggi nella sezione Configurare la dimensione massima del corpo.
  • Per attivare CORS per consentire intestazioni aggiuntive, completa i passaggi nella sezione Attiva CORS.
  • Per utilizzare WebSocket con NGINX Ingress Controller, completa i passaggi nella sezione Usa WebSocket.

Risoluzione

Configura la dimensione massima del corpo

Se la tua richiesta di dimensione del corpo supera la dimensione massima consentita del corpo della richiesta del client, il controller di ingresso NGINX restituisce un errore HTTP 413. Usa il parametro client_max_body_size per configurare una dimensione più grande:

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

Nota: Il valore predefinito del proxy-body-size è 1 M. Assicurati di modificare il numero con la dimensione desiderata.

In alcuni casi, potrebbe essere necessario aumentare le dimensioni massime per tutti i dati del corpo del post e i caricamenti di file. Per PHP, è necessario aumentare i valori post_max_size e ** caricare i valori **_max_file_size nella configurazione php.ini.

Attiva CORS

Per attivare CORS in una regola Ingress, aggiungi la seguente annotazione:

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

L'esempio seguente mostra che l'intestazione X-Forwarded-For è accettata:

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

Per ulteriori informazioni, consulta la sezione Enable CORS sul sito web di Kubernetes.

Usa WebSocket

NGINX supporta WebSocket senza configurazioni aggiuntive. Per evitare una connessione chiusa, aumenta i valori proxy-read-timeout e proxy-send-timeout.

Nell'esempio seguente, sono impostati 120 secondi per il timeout di lettura del proxy e il timeout di invio del proxy:

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

Nota: Il valore predefinito delle due annotazioni precedenti è 60 secondi.

Informazioni correlate

Annotazioni sul sito web di Kubernetes

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa