0°

Nginx 之 proxy_set_header 指令

proxy_set_header语法

Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host;
         proxy_set_header Connection close;
Context: http, server, location

proxy_set_header指令是允许重新定义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”, and “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 "";






「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论