Cómo configurar Cors en Nginx?

Cómo configurar Cors en Nginx?
El intercambio de recursos de origen cruzado es un protocolo que permite el acceso controlado a recursos ubicados fuera del alcance de un dominio dado. Cors es similar a SOP con características adicionales y flexibilidad.

Un ejemplo común de uso de CORS es si JavaScript necesita parchar una solicitud a un punto final API ubicado en un dominio diferente. Si se usa SOP, que es seguido por xmlhttprequest y busca, la solicitud se bloquearía. Sin embargo, utilizando CORS, la solicitud se puede permitir acceder al punto final solicitado.

Como puede imaginar, hay algunas ventajas y desventajas del uso de CORS en su servidor, ya que no protege contra ataques basados ​​en el dominio cruzado, incluido CSRF.

El propósito de este tutorial es darle un resumen rápido de cómo funciona Cors y cómo habilitarlo en un servidor NGINX.

¿Por qué habilitar Cors??

¿Por qué habilitar a Cors en primer lugar?? En la mayoría de los casos, JavaScript que se ejecuta en el navegador del cliente no necesita acceder a recursos fuera de su dominio. Por lo tanto, deshabilitar CORS puede ser una buena medida para la seguridad.

Sin embargo, en el lado de backend de las cosas, un código legítimo de JavaScript puede necesitar reparar una solicitud a través de un punto final fuera de su dominio, lo que requiere que CORS haya habilitado para que dicha funcionalidad funcione.

NOTA: El mismo dominio se refiere a un protocolo diferente, un nombre de dominio diferente o un puerto diferente.

Solicitudes con CORS

La solicitud más común que usa CORS incluye:

  • Fuentes web que se definen en @font-face con una hoja de estilo web.
  • Imágenes y videos dibujados en el lienzo usando drawimage ()
  • Texturas webgl
  • Formas CSS extraídas de imágenes.

Esas son algunas de las solicitudes básicas que requieren que CORS funcione correctamente. Es bueno entender que hay más conceptos sobre Cors más allá del alcance de este tutorial.

Habilitar CORS en el servidor NGINX

Vamos a la parte principal de este tutorial. Para habilitar CORS en NGINX, debe editar el archivo de configuración (ubicado en/etc/nginx/nginx.conf o usr/local/nginx/conf o/usr/local/etc/nginx) y agregue el encabezado.

La sintaxis general para agregar directivas de encabezado en Nginx es como:

$ add_header Nombre de valor [siempre];

Paso 1 - Editar configuración de Nginx

Inicie su editor favorito y abra la configuración de Nginx:

$ sudo vim/etc/nginx/sites habilitado/predeterminado

Paso 2 - Agregue el encabezado

En el bloque del servidor de su configuración NGINX, ingrese la siguiente entrada.

$ servidor
Add_header Access-Control-Allow-Origin *;

Paso 3 - Guarde y reinicie Nginx

Finalmente, guarde el archivo de configuración y reinicie Nginx.

$ sudo servicio nginx reiniciar

Paso 4 - Confirma Cors

Use Curl para confirmar que CORS está habilitado como:

$ curl -i http: // 127.0.0.1

Esto debería darle una salida como se muestra a continuación:

Conclusión

Ese es el final de este tutorial. Espero que te haya ayudado a lograr el objetivo de habilitar CORS en tu servidor Nginx.

Gracias por leer y compartir.