原文地址:https://www.nginx.com/resources/admin-guide/reverse-proxy/
原文标题:Passing Request Headers
默认情况,NGINX在代理请求时会重新定义两个HTTP头字段,“Host”和“Connection”,并删除值为空的头部字段。“Host”会被设置为 $proxy_host
变量的值,“Connection”被设置为close。
By default, NGINX redefines two header fields in proxied requests, “Host” and “Connection”, and eliminates the header fields whose values are empty strings. “Host” is set to the $proxy_host variable, and “Connection” is set to close.
要改变这些设置,包括修改其他头字段,使用proxy_set_header
指令。这个指令可以在location
或者更高层使用。也可以在特定的server
上下文或者在http块中,例如:
To change these setting, as well as modify other header fields, use the proxy_set_header directive. This directive can be specified in a location or higher. It can also be specified in a particular server context or in the http block. For example:
<code>location /some/path<span>/</span> { proxy_set_header Host <span>$host</span>; proxy_set_header X<span>-Real</span><span>-IP</span><span>$remote_addr</span>; proxy_pass http:<span>//localhost:8000;</span> }</code>
在这个配置中,“Host”字段被设置为$host
变量。
In this configuration the “Host” field is set to the $host variable.
要阻止一个头字段被传递给被代理的服务器,只要把它设置为空字符串。
To prevent a header field from being passed to the proxied server, set it to an empty string as follows:
<code>location /some/path<span>/</span> { proxy_set_header Accept<span>-Encoding</span><span>""</span>; proxy_pass http:<span>//localhost:8000;</span> }</code>
以上就介绍了NGINX学习笔记——传递请求头,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。