nginx 在请求头request中增加header参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 在请求头request中增加header参数相关的知识,希望对你有一定的参考价值。

参考技术A 有两种方式可以实现这一操作:

1:nginx反向代理(需要两个nginx服务)

在nginx反向代理服务器通过使用proxy_set_header实现。

      e.    proxy_set_header X-Forwarded-For 127.0.0.1;

2:安装模块Passenger

      [Passenger用户手册] https://github.com/biti/passenger-doc-zh/wiki/Passenger%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8Cnginx%E7%89%88

      安装完成后使用:

      passenger_set_cgi_param HTTP_X_FORWARDED_FOR 127.0.0.1; 

      来增加请求header中的参数

应用场景:

1. 切流,一个线上服务,新增了一个功能,需要公网内部测试,这时候可以根据来源ip & path设置不同的header信息,配合业务逻辑实现内外网流量切分,保证内测功能只有内网可见。

2. 使用非标准标头向上游服务器通知用户的IP地址和其他请求属性

SpringBoot 常见小问题

经Nginx反向代理后request.getScheme()获取不到https

解决步骤如下:

在Nginx中设置请求头

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto  $scheme;

在application.yaml中配置

server:
  tomcat:
    remoteip:
      protocol-header: "X-Forwarded-Proto"
      remote-ip-header: "X-FORWARDED-FOR"

以上是关于nginx 在请求头request中增加header参数的主要内容,如果未能解决你的问题,请参考以下文章

Nginx的重要概念之request

架构Nginx如何设置X-Request-ID请求头,记录请求时间:毫秒?

Nginx探索三

nginx 里有好多head请求日志,为啥会出现

okhttpbuilder设置header

Django获取request中的真实IP