nginx配置中$http_host、$host、$host:$proxy_port 简单区别

1、 proxy_set_header Host $http_host;
不改变请求头 。
2、proxy_set_header Host h o s t ; 如 果 客 户 端 请 求 头 中 没 有 携 带 这 个 头 部 , 那 么 传 递 到 后 端 服 务 器 的 请 求 也 不 含 这 个 头 部 。 这 种 情 况 下 , 使 用 host; 如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。 这种情况下,使用 host;使host变量它 的值在请求包含“Host”请求头时为“Host”字段的值,在请求未携带“Host”请求头时为虚拟主机的主域名;
3、proxy_set_header Host h o s t : host: host:proxy_port;
服务器名可以和后端服务器的端口一起传送:
4、如果某个请求头的值为空,那么这个请求头将不会传送给后端服务器:
proxy_set_header Accept-Encoding “”;
5、用户真实的ip地址转发给后端服务器
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;

你可能感兴趣的:(nginx)