Nginx配置请求头携带原始请求信息的实现
作者: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 请求头携带原始请求信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
