NGINX学习笔记——传递请求头

来源:互联网 发布:python os.exit 编辑:程序博客网 时间:2024/06/06 06:31

原文地址: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:

location /some/path/ {    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_pass http://localhost:8000;}

在这个配置中,“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:

location /some/path/ {    proxy_set_header Accept-Encoding "";    proxy_pass http://localhost:8000;}
0 0
原创粉丝点击