configuration datadog - Cuál es la diferencia de $ host y $ http_host en Nginx





agent versions (2)


$host es una variable del módulo Core .

$ host

Esta variable es igual a Host de línea en el encabezado de solicitud o nombre del servidor que procesa la solicitud si el encabezado de Host no está disponible.

Esta variable puede tener un valor diferente de $ http_host en tales casos: 1) cuando el encabezado de entrada del Host está ausente o tiene un valor vacío, $ host es igual al valor de la directiva server_name; 2) cuando el valor de Host contiene el número de puerto, $ host no incluye ese número de puerto. El valor $ host siempre está en minúscula desde 0.8.17.

$http_host también es una variable del mismo módulo pero no lo encontrará con ese nombre porque se define genéricamente como $http_HEADER ( ref ).

$ http_HEADER

El valor del encabezado de solicitud HTTP HEADER cuando se convierte a minúsculas y con 'guiones' convertidos a 'guiones bajos', por ejemplo, $ http_user_agent, $ http_referer ...;

Resumiendo:

  • $http_host es igual a siempre el HTTP_HOST solicitud HTTP_HOST .
  • $host es igual a $http_host , minúscula y sin el número de puerto (si está presente), excepto cuando HTTP_HOST está ausente o es un valor vacío . En ese caso, $host es igual al valor de la directiva server_name del servidor que procesó la solicitud.

En Nginx, ¿cuál es la diferencia entre las variables $host y $http_host .




como se dice como @treecoder

En el caso de la directiva root , la ruta completa se agrega a la raíz que incluye la parte de ubicación, mientras que en el caso de la directiva de alias , solo la parte de la ruta que NO incluye la parte de ubicación se agrega a la alias.

Una imagen vale mas que mil palabras

para la root :

para alias :





configuration nginx http-headers