Nginx配置请求头携带原始请求信息的实现

 更新时间:2023年12月18日 08:55:50   作者:DanceDonkey  
本文主要介绍了Nginx配置请求头携带原始请求信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文主要介绍了Nginx配置请求头携带原始请求信息的实现,分享给大家,具体如下:

在这里插入图片描述

在浏览器向nginx发送请求时,nginx会将请求转发给SpringBoot,此时由于是nginx给SpringBoot发送的请求,所以SpringBoot获取到的请求IP是192.168.1.2,而并非是浏览器的192.168.1.1,如果想要获取原始的请求IP,应在nginx的配置文件加上以下配置。

 location / {
            proxy_pass http://hadoop101:8081;
	   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_set_header X-Forwarded-Proto $scheme;  
        proxy_set_header X-Forwarded-Host $host;  
        proxy_set_header X-Forwarded-Port $server_port;  
		proxy_set_header X-Forwarded-Uri $request_uri;  # 添加这一行来传递原始请求的URI 
        proxy_set_header X-Forwarded-Url $request_uri;  # 添加这一行来传递原始请求的URL
 }

nginx常用的内置变量还有

  • $scheme:当前请求的协议类型,如 “http” 或 “https”。
  • $http_host:当前请求的域名和端口号,例如 “example.com:80”。
  • $request_uri:当前请求的 URI。
  • $proxy_add_x_forwarded_for:如果请求是从代理服务器转发过来的,该变量会包含原始客户端的 IP 地址。
  • $remote_addr:原始客户端的 IP 地址。
  • $remote_user:原始客户端的认证用户名(如果已通过身份验证)。
  • $time_local:当前请求的时间,以本地时间格式表示。
  • $request:当前请求的行,包括请求方法、URI 和协议类型。
  • $status:当前请求的响应状态码。
  • $body_bytes_sent:已发送到客户端的字节数。
  • $http_referer:当前请求的来源页面 URL。
  • $http_user_agent:当前请求的用户代理字符串,表示客户端的浏览器信息。

到此这篇关于Nginx配置请求头携带原始请求信息的实现的文章就介绍到这了,更多相关Nginx 请求头携带原始请求信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx如何配置参数以及变量

    nginx如何配置参数以及变量

    这篇文章主要介绍了nginx如何配置参数以及变量问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Nginx服务器安装与配置指南

    Nginx服务器安装与配置指南

    Nginx是一个高性能的HTTP和反向代理服务器,能支持大量并发连接,消耗较低的系统资源,适合用作生产环境的Web服务器,本文给大家介绍Nginx服务器安装与配置指南,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • 详解 Nginx代理功能与负载均衡

    详解 Nginx代理功能与负载均衡

    本篇文章主要介绍了详解 Nginx代理功能与负载均衡,先描述一些关于代理功能的配置,再说明负载均衡详细,有兴趣的可以了解一下。
    2017-02-02
  • Nginx 流量镜像使用的方法示例

    Nginx 流量镜像使用的方法示例

    Nginx流量镜像技术可以在不影响原始请求的情况下复制请求数据,用于数据分析、安全监控等方面,本文就来介绍一下Nginx 流量镜像使用的方法示例,感兴趣的可以了解一下
    2024-10-10
  • Nginx在胖容器中的部署流程

    Nginx在胖容器中的部署流程

    胖容器(Fat Container)是一种容器技术的形态,它在传统的轻量级容器基础上进行了扩展和增强,Nginx是一款高性能的HTTP和反向代理web服务器,本文将给大家介绍Nginx在胖容器中的部署流程,需要的朋友可以参考下
    2024-04-04
  • Nginx中map指令的具体使用

    Nginx中map指令的具体使用

    Nginx的map指令是一个强大的工具,用于根据变量的值来设置另一个变量的值,本文就来介绍一下Nginx中map指令的具体使用,感兴趣的可以了解一下
    2024-07-07
  • Nginx的proxy_pass命令使用

    Nginx的proxy_pass命令使用

    ,proxy_pass指令用于将请求转发到后端服务器,它可以用于 HTTP 和 Stream 模块,分别处理 HTTP 请求和 TCP/UDP 流量,下面就来详细介绍一下如何使用,感兴趣的可以了解一下
    2026-05-05
  • 详解Nginx服务器中的nginx.conf配置文件

    详解Nginx服务器中的nginx.conf配置文件

    这篇文章主要介绍了详解Nginx服务器中的nginx.conf配置文件,包括对HTTP服务的基本配置方法,需要的朋友可以参考下
    2015-08-08
  • Nginx之rewrite重写的具体使用

    Nginx之rewrite重写的具体使用

    访问重写rewrite是Nginx HTTP请求处理过程中的一个重要功能,本文主要介绍了Nginx之rewrite重写的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Nginx部署项目上传文件报错413的解决方法

    Nginx部署项目上传文件报错413的解决方法

    本文主要介绍了Nginx部署项目上传文件报错413的解决方法,报错413是因为Nginx对上传大小做了限制,所以我们需要配置文件,下面就来解决这个问题,感兴趣的可以了解一下
    2024-03-03

最新评论