Cómo establecer encabezados de Access-Control-Allow-Origin (CORS) en Apache

El intercambio de recursos de origen cruzado (CORS) permite que su servidor web acepte y atienda solicitudes de otros dominios. De forma predeterminada, CORS está deshabilitado en Apache. Debe configurar Access-Control-Allow-Origin Header para habilitar CORS en Apache. Aquí se explica cómo configurar el encabezado Access-Control-Allow-Origin en Apache.

Cómo establecer encabezados de Access-Control-Allow-Origin (CORS) en Apache

Estos son los pasos para configurar el encabezado Access-Control-Allow-Origin en Apache.

1. Habilitar el módulo de encabezados

Debe habilitar el módulo de encabezados para habilitar CORS en Apache.

Ubuntu / Debian

En ubuntu/debian linux, abra la terminal y ejecute el siguiente comando para habilitar el módulo de encabezados.

                      $ sudo a2enmod headers

                    

CentOS /Redhat/Fedora

En CentOS/Redhat/Fedora linux, abre el Apache archivo de configuración httpd.conf y elimine el comentario de la siguiente línea eliminando # delante de ellos.

                      LoadModule headers_module modules/mod_headers.so
                    

2. Abierto Apache Archivo de configuración

Puede habilitar CORS en Apache modificando Apache Archivo de configuración del servidor o archivo .htaccess.

Utilizando Apache Archivo de configuración del servidor

Si tienes acceso a Apache archivo de configuración del servidor, ábralo en un editor de texto. Apache el archivo de configuración se encuentra en cualquiera de las siguientes ubicaciones, dependiendo de su instalación

  • /etc/apache2/httpd.conf
  • /etc/apache2/apache2.conf
  • /etc/httpd/httpd.conf
  • /etc/httpd/conf/httpd.conf
                      $ sudo vi /etc/apache2/httpd.conf

                    

Usando el archivo .htaccess

Si no tienes acceso a Apache archivo de configuración del servidor, abra el archivo .htaccess en un editor de texto.

                      $ sudo vi /var/www/html/.htaccess

                    

Lectura adicional: Cómo instalar Apache mod_security en Ubuntu

3. Habilite CORS en Apache

Para configurar el encabezado Access-Control-Allow-Origin en Apachesimplemente agregue la siguiente línea dentro del <Directory> , <Location> , <Files> o <VirtualHost> secciones de su archivo.

                      Header set Access-Control-Allow-Origin "*"
                    

La línea anterior permitirá Apache para aceptar solicitudes de todos los demás dominios. Si solo quieres aceptar CORAZÓN solicitudes de un dominio específico (googlesyndication.com), luego use ese dominio en lugar de usar * arriba.

                      Header set Access-Control-Allow-Origin "googlesyndication.com"
                    

Veamos algunos de los casos de uso para permitir solicitudes CORS.

Etiqueta de directorio en el archivo de configuración principal

En este caso, las solicitudes de CORS solo se permitirán en la carpeta especificada y sus subcarpetas en su sitio web, y no en todas las carpetas. Dado que hemos agregado la configuración para la carpeta raíz /var/www/html, será aplicable a todo el sitio web.

                      <Directory /var/www/html>
   ...
   Header set Access-Control-Allow-Origin "*"
   ...
</Directory>

                    

Aquí hay un example para permitir CORS solo para carpetas/proyectos.

                      <Directory /var/www/html>
 ...   
 Header set Access-Control-Allow-Origin "*" 
 ... 
</Directory>
                    

En cualquier parte del archivo .htaccess

En este caso, las solicitudes de CORS se permitirán solo para el dominio cuyo archivo .htaccess haya modificado.

                         ...
   Header add Access-Control-Allow-Origin "*"
   ...

                    

Etiqueta VirtualHost en el archivo de configuración de host virtual

En este caso, las solicitudes de CORS solo se permitirán para el host virtual cuyo archivo de configuración haya actualizado.

                      <VirtualHost *:443>
   ...
   Header add Access-Control-Allow-Origin "*"
   ...
</VirtualHost>

                    

Lectura adicional: Cómo habilitar TLS 1.3 en Apache

Hay diferentes configuraciones disponibles para habilitar CORS en Apache.

Habilitar CORS desde todos los sitios web

Si desea habilitar CORS para todos los sitios web, es decir, aceptar solicitudes de dominio cruzado de todos los sitios web, agregue lo siguiente

                      Header add Access-Control-Allow-Origin *;

                    

En la declaración anterior, usamos comodines Apache por

Directiva Access-Control-Allow-Origin

Habilitar CORS desde un dominio exampleSi desea habilitar CORS para un dominio de sitio web (por ejemplo,

                      Header add Access-Control-Allow-Origin "googlesyndication.com";

                    

.com), especifique ese dominio en lugar del carácter comodín *.

Habilite CORS desde múltiples dominios y subdominios

                      Header add Access-Control-Allow-Origin "example1.com";
Header add Access-Control-Allow-Origin "example2.com";
Header add Access-Control-Allow-Origin "example3.com";
Header add Access-Control-Allow-Origin "blog.example4.com";

                    

Si desea habilitar CORS para varios dominios (por ejemplo, ejemplo1.com, ejemplo2.com, ejemplo3.com y subdominio blog.ejemplo4.com), especifíquelos por separado uno tras otro

Habilitar CORS desde localhost

                      Header add Access-Control-Allow-Origin "localhost";
                    

Si desea habilitar CORS desde localhost, agregue 127.0.0.1 o localhost en lugar del nombre de dominio

Lectura adicional: Cómo generar CSR para un certificado SSL en Linux Apache 4. prueba

Configuración Apache Prueba

                      $ sudo apachectl -t

                    

configuración para asegurarse de que no haya errores. Apache Lectura adicional: Cómo instalar un certificado SSL en

ventanas Apache 5. Reiniciar

Servidor Apache Si no ve errores en los pasos anteriores, reinicie

                      $ sudo systemctl restart apache2

                    

Servidor web Apache Ahora tu

El servidor web atenderá automáticamente las solicitudes de otros dominios.

milímetro

Acerca de CodePre CodePre es una poderosa plataforma de informes y tableros para pequeñas y medianas empresas. Cree paneles, gráficos e informes para su negocio en minutos. Obtenga información de los datos rápidamente. ¡Pruébalo gratis hoy!

Related Posts