美文网首页
【F5+nginx】nginx作为反向代理,日志记录F5透传的客

【F5+nginx】nginx作为反向代理,日志记录F5透传的客

作者: Bogon | 来源:发表于2023-07-16 00:24 被阅读0次

一、 环境信息

客户端 ---> F5 ---> nginx(反向代理) ---> 各业务模块 upstream

二 、 业务诉求

F5 透传客户端真实ip 给到 nginx, nginx日志能记录每次请求客户端的真实ip

三、 相关操作

3.1 F5 使用 7 层代理,替代之前的 4层代理

3.2 F5中开启AutoMap,并传递X-Forwarded-For值

方式1: 在http profile中开启X-Forwarded-For


image.png

方式2:在iRule中开启X-Forwarded-For

when HTTP_REQUEST {
    HTTP::header insert "X-Forwarded-For" [IP::client_addr]
}

3.3 nginx 日志中增加 $http_x_forwarded_for 字段

$ cat nginx.conf

log_format main '$remote_addr###-###$remote_user###[$time_local]###"$request"###'
    '$status###$body_bytes_sent###"$http_referer"###'
    '"$http_user_agent"###$request_time###$http_host###$request_id###$upstream_addr###$upstream_status###$http_X_Request_Id###$scheme###$upstream_response_time###$http_x_real_ip###$request_length###$http_x_forwarded_for';
image.png

3.4 检查nginx配置文件语法并重载

nginx  -t 
nginx -s reload 

3.5 查看日志客户端ip获取情况

$ tai -f access.log

192.168.1.110###-###-###[16/Jul/2023:22:10:49 +0800]###"POST /gateway/ticket/terminal/lappAccess HTTP/1.1"###200###476###"-"###"-"###0.021###www.example.com###a75538d7f4b34b42ea9a8b29bf0aa659###10.19.42.162:10086###200###c6145657-1167-4807-acaa-1a87aaecd2ae###http###0.021###-###1171###117.152.173.5
$remote_addr:  192.168.1.110,F5 ip
$http_x_forwarded_for:  117.152.173.5,客户端真实ip

四、参考

F5后端nginx+tomcat应用如何获得用户的真实ip
http://blog.chinaunix.net/uid-25723371-id-3393531.html

javaweb项目通过F5负载,获取客户端真实ip
https://blog.csdn.net/su1573/article/details/115730260

K4816: Using the X-Forwarded-For HTTP header to preserve the original client IP address for traffic translated by a SNAT object
https://my.f5.com/manage/s/article/K4816

相关文章

  • Nginx笔记 2018-01-16

    Nginx 常用功能 Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。Nginx在做反向...

  • nginx配置说明

    Nginx常用功能1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。Nginx在做反向...

  • nginx学习目录

    nginx安装部署和配置管理 nginx日志配置 nginx平滑升级与回滚 nginx反向代理 nginx负载均衡...

  • Nginx配置Tomcat集群

    Nginx Nginx常用功能 Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。 Ngi...

  • Nginx常用功能

    1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。 Nginx在做反向代理时,提供性能...

  • Nginx常用功能介绍

    Nginx常用功能1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。正向代理和反向代理...

  • nginx做代理上网

    nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网),nginx反向代理看这里nginx反向...

  • 二、架构02-Nginx的反向代理、虚拟主机

    一、Nginx反向代理 1、环境:node01:192.168.32.132 Nginx (前端Nginx反向代理...

  • Nginx配置反向代理

    Nginx 的其中一个用途是做 HTTP 反向代理,下面简单介绍 Nginx 作为反向代理服务器的方法。 场景描述...

  • nginx学习(1)

    nginx作为反向代理服务器以及负载均衡,享负盛名。 本篇记录一下nginx学习的过程。 我下载的nginx是1....

网友评论

      本文标题:【F5+nginx】nginx作为反向代理,日志记录F5透传的客

      本文链接:https://www.haomeiwen.com/subject/epsiudtx.html