Nginx Add_header
原文链接: Nginx Add_header
禁止浏览器缓存
location ~.*\.(htm|html)$
{
#本地WEB目录,调整为实际的目录
root D:/GoWorkSpace/goprojs/src/hr360proj/webapp;
# 禁止浏览器缓存
add_header Cache-Control 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0';
}
直接获取客户端真实ip
location /ip {
# 默认是文件格式
add_header Content-Type 'text/html; charset=utf-8';
set $realip $remote_addr;
if ($http_x_forwarded_for ~ "^(\d+\.\d+\.\d+\.\d+)") {
set $realip $1;
}
return 200 "$realip";
}
Nginx proxy_set_header:即允许重新定义或添加字段传递给代理服务器的请求头。该值可以包含文本、变量和它们的组合。在没有定义proxy_set_header时会继承之前定义的值。默认情况下,只有两个字段被重定义:
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
如果启用缓存,来自之前请求的头字段“If-Modified-Since”, “If-Unmodified-Since”, “If-None-Match”, “If-Match”, “Range”, 和 “If-Range” 将不会被代理服务器传递。
一个不会变化的“Host”头请求字段可通过如下方式被传递:
proxy_set_header Host $http_host;
然后,当字段不在请求头中就无法传递了,在这种情况下,可通过设置Host变量,将需传递值赋给Host变量
proxy_set_header Host $host;
此外,服务器名称和端口一起通过代理服务器传递
proxy_set_header Host $host:$proxy_port;
如果请求头的存在空的字段将不会通过代理服务器传递出去
proxy_set_header Accept-Encoding "";