乐趣区

nginx-host-和-httphost-的区别

$host是 core 模块内部的一个变量

  1. 当请求头里不存在 Host 属性或者是个空值,$host则等于 server_name
  2. 如果请求头里有 Host 属性,那么 $host 等于 Host 属性除了端口号的部分,例如 Host 属性是 www.example.com,那么$host 就是www.example.com

$http_host不是一个固定的变量,他其实是 $http_HEADER 通配后的结果。

$http_HEADER,注意,这里的 HEADER 是一个通配符,通配的是请求头里的 header 属性,例如 $http_content_type 表示请求头里 content-type 属性的值,同理,$http_host指的就是请求头里的 host 属性。

退出移动版