请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

使用nginx反向代理 在web服务器日志获取客户ip

回答1 浏览113 2020-10-10 11:38:56

你好老师

我使用nginx作反向代理,然后下面又有3个nginx作web服务器,
我在反向代理nignx的设置中增加了你之前提及的3条参数:

proxy_set_header Host $host; 
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

在web服务器中可以使用tp提供的方法获取到用户的正式ip
如:

$header = $this->request->header();
dump($header);

输出如:

"x-forwarded-for" => "223.234.23.121"
"x-real-ip" => "223.234.23.121"

但是我从web服务器的日志中还是无法得到此客户真实IP,显示的还是内网的反向代理nginx的IP
请问有何方法,使得在web服务器的日志中记录客户真实IP?

添加回答

1回答

  • proxy_set_header Host $host; # 设置header中的Host参数,值为$host这个变量的值 proxy_set_header X-Real-IP $remote_addr; # 设置header中的X-Real-IP参数,值为$remote_addr这个变量的值 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置header中的X-Fo...
    2020-10-10 14:04:55
    • 提问者 stevenfung #1
      我的是docker
      在web服务nginx设置文件中增加了两条就可以了:
      server {
              # Add option for x-forward-for (real ip when behind elb)                              
              real_ip_header X-Forwarded-For;                                                       
              set_real_ip_from 192.168.1.2;    

      192.168.1.2是我的反向代理内网ip
      2020-10-12 14:12:15

全流程开发 TP6.0实战高并发电商服务系统

难度中级
时长30小时
人数943
好评度99.9%

一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目

讲师

singwa 全栈工程师

某大型上市公司高级技术专家&高级技术经理,拥有丰富的大数据、高并发、大型网站架构经验,曾在百度,新浪任职多年,热爱教育,讲课风格激情澎湃,认真负责。

意见反馈 帮助中心 APP下载
官方微信