// 如果想让Host是crmtest.aty.sohuno.com,则进行如下设置:
proxy_set_header Host crmtest.aty.sohuno.com;
// 如果不想改变请求头“Host”的值,可以这样来设置:
proxy_set_header Host $http_host;
// 但是,如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。
// 这种情况下,更好的方式是使用$host变量——它的值在请求包含“Host”请求头时为“Host”字段的值,在请求未携带“Host”请求头时为虚拟主机的主域名:
proxy_set_header Host $host;
// 此外,服务器名可以和后端服务器的端口一起传送:
proxy_set_header Host $host:$proxy_port;
// 如果某个请求头的值为空,那么这个请求头将不会传送给后端服务器:
proxy_set_header Accept-Encoding "";
变量 | 是否显示端口 | 值是否存在 |
$host | 否 |
"Host:value"显示 值为a:b的时候,只显示a |
$http_host | 是 | "Host:value",value存在就显示 |
$proxy_host |
默认80不显示 其他端口显示 |
"Host:value"显示 |
假设客户端请求的 URL 为 http://example.com:8080/index.html,那么:
$host 变量的值为 example.com
$http_host 变量的值为 example.com:8080