¿Cómo configuro el controlador de entrada de NGINX para aumentar el cuerpo de la solicitud del cliente, activar CORS para permitir encabezados adicionales y usar WebSocket para trabajar con Amazon EKS?

3 minutos de lectura
0

Quiero configurar el controlador de entrada de NGINX para aumentar el tamaño del cuerpo de la solicitud del cliente con mi clúster de Amazon Elastic Kubernetes Service (Amazon EKS). También quiero activar el Cross-Origin Resource Sharing (CORS, Uso compartido de recursos entre orígenes) para permitir encabezados adicionales y usar WebSocket con el controlador de entrada de NGINX.

Descripción corta

Elija una de las siguientes opciones de configuración:

  • Para aumentar el tamaño del cuerpo de la solicitud del cliente, complete los pasos de la sección Configurar el tamaño máximo del cuerpo.
  • Para activar CORS para permitir encabezados adicionales, complete los pasos de la sección Activar CORS.
  • Para utilizar WebSocket con el controlador de entrada de NGINX, complete los pasos en la secciónUtilizar WebSocket.

Resolución

Configurar el tamaño máximo del cuerpo

Si la solicitud de tamaño de cuerpo excede el tamaño máximo permitido del cuerpo de la solicitud del cliente, el controlador de ingreso de NGINX devuelve un error HTTP 413. Utilice el parámetroclient_max_body_size para configurar un tamaño mayor:

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

Nota: El valor predeterminado del tamaño del cuerpo proxy es 1 M. Asegúrese de cambiar el número al tamaño que necesita.

Nota: En algunos casos, es posible que tenga que aumentar el tamaño máximo de todos los datos del cuerpo de la publicación y las cargas de archivos. Para PHP, debe aumentar los valores post_max_size y upload_max_file_size en la configuración de php.ini.

Activar CORS

Para activar CORS en una regla de entrada, agregue la siguiente anotación:

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

El siguiente ejemplo muestra que se acepta el encabezado X-Forwarded-For:

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

Puede encontrar otros encabezados en la sección Habilitar CORS (del sitio web de GitHub) de la documentación del controlador de ingreso de NGINX.

Utilizar WebSocket

NGINX admite WebSocket (del sitio web de NGINX) versiones 1.3 o posteriores, sin requisitos. Para evitar una conexión cerrada, debe aumentar los valores de tiempo de espera de lectura de proxy y tiempo de espera de envío de proxy.

En el siguiente ejemplo, se establecen 120 segundos para el tiempo de espera de lectura de proxy y el tiempo de espera de envío de proxy:

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

Nota: El valor predeterminado de las dos anotaciones anteriores es de 60 segundos.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años