qnnp 发表于 2024-10-25 14:31:28

【已完成】设置了反向代理则面板记录不到操作用户的真实IP

如题,如果是设置了反向代理访问面板则面板记录不到用户的真实IP,只能记录到反代服务器的IP

天天进步 发表于 2024-10-26 09:18:33

反向代理配置代码截图看看

大炮运维V587 发表于 2024-10-26 17:05:48

您好,配置反向代理的配置中有获取客户端的真实 IP 的配置吗?

qnnp 发表于 2024-10-27 10:03:20

大炮运维V587 发表于 2024-10-26 17:05
您好,配置反向代理的配置中有获取客户端的真实 IP 的配置吗?


      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Real-Port $remote_port;
      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 REMOTE-HOST $remote_addr;

有的

天天进步 发表于 2024-10-28 11:01:46

网站是否使用了CDN?

qnnp 发表于 2024-10-29 09:19:06

天天进步 发表于 2024-10-28 11:01
网站是否使用了CDN?

没有、通过head可以正确的获取到用户IP,但是宝塔面板不支持

天天进步 发表于 2024-10-29 09:25:56

qnnp 发表于 2024-10-29 09:19
没有、通过head可以正确的获取到用户IP,但是宝塔面板不支持

添加proxy_set_header X-Real-IP $real_ip;试试

qnnp 发表于 2024-10-30 17:46:59

大炮运维V587 发表于 2024-10-26 17:05
您好,配置反向代理的配置中有获取客户端的真实 IP 的配置吗?

请优化这段代码

文件位置:/www/server/panel/class/public.py:731

def GetClientIp():
    from flask import request
    ipaddr =request.remote_addr.replace('::ffff:','')
    if not check_ip(ipaddr): return '未知IP地址'
    return ipaddr

qnnp 发表于 2024-10-30 17:47:30

天天进步 发表于 2024-10-29 09:25
添加proxy_set_header X-Real-IP $real_ip;试试

请优化这段代码

文件位置:/www/server/panel/class/public.py:731

def GetClientIp():
    from flask import request
    ipaddr =request.remote_addr.replace('::ffff:','')
    if not check_ip(ipaddr): return '未知IP地址'
    return ipaddr

qnnp 发表于 2024-10-30 18:03:22

改成类似这样

def GetClientIp():
    from flask import request
    ipaddr =request.remote_addr.replace('::ffff:','')
    if request.headers['X-Forwarded-For'] is not None:
      ipaddr = request.headers['X-Forwarded-For']
    elif request.headers['X-Real-IP'] is not None:
      ipaddr = request.headers['X-Real-IP']
    if not check_ip(ipaddr): return '~\~_IP~\~]~@'
    return ipaddr

堡塔运维南一 发表于 2024-12-2 10:06:54

您好,这个问题如果没有解决的话,请重新发帖哈,这篇帖子就关闭了
页: [1]
查看完整版本: 【已完成】设置了反向代理则面板记录不到操作用户的真实IP