Cuando Edge Security Acceleration (ESA) solicita recursos a un servidor de origen, el encabezado de solicitud Host predeterminado depende del tipo de servidor de origen. Si es necesario, modifique el encabezado de solicitud Host para asegurar que las solicitudes se enruten correctamente al servidor de origen.
El servidor de origen debe admitir la coincidencia de distintos sitios virtuales mediante el encabezado de solicitud Host. De lo contrario, esta función no operará como se espera.
Un parámetro de Host de origen configurado en una regla de origen tiene mayor prioridad que uno establecido en Manage DNS Records. Si el parámetro se configura en ambos lugares, se utiliza el valor de la regla de origen.
Conceptos relacionados
Host de origen predeterminado de ESA
El encabezado de solicitud Host especifica el nombre de dominio del servidor solicitado. Cuando un punto de presencia (POP) de ESA solicita recursos a un servidor de origen, el Host predeterminado se determina con las siguientes reglas:
Si Record Value es una dirección IPv4, dirección IPv6, nombre de dominio, Server Load Balancer o pool de origen: la configuración predeterminada de Origin Host es Match Requested Domain Name. Esto significa que se usa el Host de la solicitud del cliente como Host de origen.
Si Record Value es OSS/S3 Compatible: la configuración predeterminada de Origin Host es Match Origin's Domain Name. En este caso, se usa el nombre de dominio del servidor de origen como Host de origen.
El servidor de origen utiliza el campo Host de la solicitud de origen para devolver los recursos del sitio correspondiente, por ejemplo, www.example.com. Si tiene varios sitios configurados en el servidor de origen (por ejemplo, en un virtual hosting scenario), el servidor de origen valida el campo Host para devolver los recursos correctos.
Hosting virtual
El hosting virtual es una técnica que permite alojar varios sitios web en un solo servidor web. El servidor utiliza distintos nombres de dominio o nombres de host para diferenciar los sitios web. Cuando un cliente solicita un nombre de dominio o de host específico, el servidor dirige la solicitud al sitio virtual correspondiente para entregar el contenido adecuado.
Solucionar errores 404 de origen
Si las solicitudes HTTPS devuelven un error 404 después de conectar su sitio a ESA, siga estos pasos para comprobar la configuración del servidor de origen.
1. Determinar si el problema está en el servidor de origen
Agregue una entrada local en el archivo hosts que asigne el nombre de dominio del servidor de origen a su dirección IP. Después, envíe una solicitud HTTPS directamente al servidor de origen y omita ESA. Si el servidor de origen también devuelve un error 404, el problema radica en dicho servidor y no en ESA.
2. Comprobar la directiva server_name de nginx
Compruebe que la directiva server_name del archivo de configuración de nginx coincida con Origin Host configurado en la consola de ESA. Si server_name no coincide con el Host de origen, el servidor de origen devuelve un error 404.
3. Comprobar la configuración del Host de origen
En la página Origin Rules de la consola de ESA, compruebe que Origin Host esté establecido en un nombre de dominio y no en una dirección IP. Si Origin Host apunta a una dirección IP, la directiva server_name del servidor de origen no podrá coincidir con ella, por lo que el servidor de origen devolverá un error 404.
Una falla de conexión (por ejemplo, un error 521 o 522) provocada por eliminar el listener SSL en el servidor de origen queda fuera del alcance de esta sección de solución de problemas. Para ese escenario, consulte la documentación sobre cómo solucionar los errores 521 y 522 de ESA.
Crear una regla de Host de origen
En la consola de ESA, seleccione Websites y luego haga clic en el sitio de destino en la columna Website.
En el panel de navegación izquierdo, elija .
Haga clic en Create Rule e introduzca un valor en Rule Name.
En la sección If requests match..., configure las condiciones de la solicitud. Para obtener más información sobre cómo configurar reglas, consulte Components of a rule expression.
En la sección Origin Host, haga clic en Configure. Especifique el Host de origen y haga clic en OK.
Ejemplo: Configurar sitios virtuales
Este ejemplo muestra cómo configurar sitios virtuales con Nginx. En el archivo de configuración de Nginx, puede establecer varios sitios virtuales dentro de los bloques server, como www.example.org, www.example.net y www.example.com.
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}
Nginx comprueba primero el campo Host del encabezado de solicitud HTTP para determinar a qué sitio virtual se debe enrutar la solicitud. Si no encuentra ninguna coincidencia, Nginx utiliza el sitio virtual predeterminado. Si no hay ningún sitio predeterminado configurado, se usa el primer bloque server como predeterminado. Para enrutar correctamente cada solicitud a su sitio virtual correspondiente, siga estos pasos:
En la consola de ESA, seleccione Websites y, en la columna Website, haga clic en el sitio de destino.
En el panel de navegación izquierdo, elija . En la página Origin Rules, haga clic en Create Rule.
-
En la página de configuración, establezca los parámetros y haga clic en OK:
Rule Name: Introduzca un nombre para la regla, por ejemplo,
rule-virtual-com.If requests match...: Configure las condiciones de la regla. Por ejemplo, seleccione
Full URIystarts with, y luego introduzcahttp://www.example.com.Then execute...: En la sección Origin Host, haga clic en Configure e introduzca la dirección del sitio virtual correspondiente, como
www.example.com.
Repita el paso anterior para crear dos reglas más:
rule-virtual-orgyrule-virtual-net.
Preguntas frecuentes
¿Cómo compruebo que los cambios en la configuración de origen surtieron efecto y soluciono problemas con la función de origen?
Comprobar cambios en la IP o en la configuración de origen
Después de actualizar la configuración de origen, acceda a su sitio web y compruebe que el contenido devuelto provenga del nuevo servidor de origen. También puede revisar los registros de acceso del servidor de origen para confirmar que las solicitudes llegan desde los nodos de ESA.
Solucionar fallas en la función de origen (por ejemplo, cambio de idioma)
Si una función del sitio (como el cambio de idioma) deja de operar tras habilitar ESA, siga estos pasos:
Agregue una entrada local en el archivo hosts que asigne la dirección IP del servidor de origen al dominio de prueba. Acceda al sitio mediante esta conexión directa, sin pasar por ESA, para determinar si el problema proviene del propio servidor de origen.
Borre la caché del navegador y vuelva a intentarlo.
Documentación relacionada
Las funciones relacionadas con reglas varían en cuanto a prioridad de aplicación, reentrancia y granularidad. Para obtener más detalles, consulte Characteristics of rule-based features.