Este mensaje de error proviene de una característica que se agregó a Drupal 8 para proteger contra ataques de encabezado de host HTTP . La característica también se describe en el registro de cambios que se generó para el parche.
Esencialmente, fue posible falsificar el encabezado del Host HTTP para propósitos nefastos y engañar a Drupal para que use un nombre de dominio diferente en varios subsistemas (particularmente la generación de enlaces). En otras palabras, el encabezado del host HTTP debe considerarse como entrada del usuario y no confiable.
Para combatir esto, $settings['trusted_host_patterns']
se agregó una nueva configuración a Drupal 8 para configurar una lista de nombres de host "confiables" desde los que se puede ejecutar el sitio. La configuración debe ser una matriz de patrones de expresión regular, sin delimitadores, que representen los nombres de host desde los que desea ejecutar.
Por ejemplo, si está ejecutando su sitio desde un único nombre de host "www.example.com", entonces debe agregar esto a su configuración (generalmente se encuentra en ./sites/default/settings.php
):
$settings['trusted_host_patterns'] = array(
'^www\.example\.com$',
);
Tenga en cuenta el ^
, \.
y $
. Estas son la sintaxis PCRE . Esto solo significa que desea hacer coincidir "www.example.com" con precisión, sin nada adicional al principio y al final, y que los puntos deben tratarse como puntos y no como caracteres comodín.
Si está ejecutando desde "example.com", simplemente use:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
);
Si necesita ejecutar un sitio de múltiples dominios y / o subdominios, y no está haciendo una redirección de URL canónica, su configuración se vería así:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
'^.+\.example\.com$',
'^example\.org',
'^.+\.example\.org',
);
Esto permite que el sitio se ejecute con todas las variantes de example.com y example.org, con todos los subdominios incluidos.
Una vez que se ajuste $settings['trusted_host_patterns']
al valor adecuado, debería poder navegar de nuevo a su sitio.
También puede verificar el estado de su configuración de host de confianza desde la página de informe de estado, que se encuentra en admin / reports / status
Si elimina la configuración por completo, el mecanismo de host de confianza no se utilizará y verá un error en la página de informe de estado. Además, su sitio también puede ser vulnerable ataques de encabezado de host HTTP.
Si tiene esta configuración configurada y está viendo este mensaje, entonces probablemente significa que ha estropeado la sintaxis de la expresión regular. En este caso, tome el primer ejemplo, copie / pegue en su configuración y luego edítelo para reflejar el nombre de host desde el que se ejecuta su sitio.