nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > nginx反向代理proxy_set_header使用说明

nginx反向代理proxy_set_header

作者:l386913

这篇文章主要介绍了nginx反向代理proxy_set_header,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

nginx反向代理proxy_set_header使用

用途

设定被代理服务器接收到的header信息

语法

proxy_set_header field value

默认值(只有两个字段被重定义):

proxy_set_header Host $proxy_host;
proxy_set_header Connection close;

配置说明

项目    值    说明
Host    $http_host    服务器本身IP
X-Real-IP    $remote_addr    前一节点IP(非用户真实IP)
X-Forwarded-For    $proxy_add_x_forwarded_for    前一节点X-Forwarded-For值
X-Forwarded-Proto    $scheme    浏览器在访问时的实际协议 

X-Forwarded-For:

简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。

它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。

标准格式:X-Forwarded-For: client1, proxy1, proxy2。

值通过一个“逗号+空格”把多个IP地址区分开,最左边(client1)是最原始客户端的IP地址,代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。

变量$host、$http_host、$proxy_host区别说明:

标准配置示例

server {
    listen 80;
    server_name www.xxx.com;
 
    location /
    {
        proxy_pass http://xxx.com;
        proxy_set_header host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

proxy_ssl_session_reuse on; 默认为on,如果我们在错误日志中发现“SSL3_GET_FINSHED:digest check failed”的情况时,可以将该指令设置为off。

proxy_ssl_verify on; #开启代理时校验后端服务器公钥证书
proxy_ssl_server_name on; #代理HTTPS服务器建立连接时,是否传递SNI信息。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文