当前位置: 代码网 > 服务器>服务器>Nginx > nginx反向代理proxy_set_header

nginx反向代理proxy_set_header

2024年06月17日 Nginx 我要评论
nginx反向代理proxy_set_header使用用途设定被代理服务器接收到的header信息允许重新定义或添加字段传递给代理服务器的请求头值可以包含文本、变量和它们的组合没有定义时会继承之前定义

nginx反向代理proxy_set_header使用

用途

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

  • 允许重新定义或添加字段传递给代理服务器的请求头
  • 值可以包含文本、变量和它们的组合
  • 没有定义时会继承之前定义的值

语法

proxy_set_header field value
  • 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信息。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com