启用了真实ip识别后,在网站设置的日志那依然显示的是CDN回源ip

coldark 2020-4-8 756

在网站设置 - 基本 -真实ip识别那填入了CDN的回源ip

image.png

但还是在网站设置 - 日志 - access.log 显示的是CDN回源的ip
请问用户的真实ip在哪看?

    172.17.213.236
    172.17.1.146
    172.17.47.98
    101.227.163.0/24
    116.128.128.0/24
    119.188.19.0/24
    120.221.168.0/24
    121.51.142.0/24
    121.51.18.0/24
    122.97.143.0/24
    123.151.144.0/24
    123.151.76.0/24
    125.39.46.0/24
    140.207.120.0/24
    140.249.67.0/24
    180.163.22.0/24
    183.3.254.0/24
    218.68.91.0/24 
    220.194.106.0/24
    223.166.151.0/24
    27.155.114.0/24
    27.155.115.0/24
    36.152.59.0/24
    58.217.245.0/24
    58.250.143.0/24
    58.251.121.0/24
    58.60.10.0/24
    59.36.120.0/24
    61.129.6.0/24
    61.151.163.0/24
    173.245.48.0/20
    103.21.244.0/22
    103.22.200.0/22
    103.31.4.0/22
    141.101.64.0/18
    108.162.192.0/18
    190.93.240.0/20
    188.114.96.0/20
    197.234.240.0/22
    198.41.128.0/17
    162.158.0.0/15
    104.16.0.0/12
    172.64.0.0/13
    131.0.72.0/22


比如

*   1535 59.36.120.166 - - [05/Apr/2020:17:23:46 +0800] "GET /usr/themes/handsome/usr/i*   1535 mg/sj2/3.jpg HTTP/1.0" 206 1 "https://www.wnark.com/archives/24.html" "Mozilla*   1535 /5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chro*   1535 me/80.0.3987.149 Safari/537.36"

这条日志内压根就没X-Forwarded-For ,只有腾讯云cdn的回源ip

日志文件已上传

上传的附件:
最新回复 (10)
  • 虚竹 2020-4-8
    引用 2
    如果是在CDN后面使用这个功能,除了要把CDN厂商的节点加到列表中,还要在CDN厂商后台把X-Forwarded-For这个HTTP头开起来。
    另外,日志中是不会出现HTTP头信息的。
  • coldark 2020-4-8
    引用 3

    image.png
    腾讯云默认开启了X-Forwarded-For

    appnode后台是没法看到用户的真实ip吗?

  • coldark 2020-4-8
    引用 4

    image.png

    通过设置受信任的反向代理服务器 IP,从这些 IP 反代到该网站的请求,Nginx 将会自动分析 HTTP 头部的 X-Real-IP 或 X-Forwarded-For 中的 IP 地址,并识别为访客的真实 IP 地址,同时也会在访问日志中体现.

    请问这个“同时也会在访问日志中体现”是在哪看访客的真实ip

  • 虚竹 2020-4-8
    引用 5
    如果有配置成功,在你上面截图中日志里看到的IP就是访客的真实IP。
  • 虚竹 2020-4-8
    引用 6

    看配置都是正确的,网站列表上方的“配置检测”下看有没有配置错误。

    有可能的话,就把反代和源站的配置源文都贴出来。

  • coldark 2020-4-8
    引用 7

    配置检测


    image.png


    原来是空格。。。
    我一个个删掉后再看看

  • 虚竹 2020-4-8
    引用 8

    明白了,你在内网反代节点上测试时使用的选项:“向后端服务器传递客户端转发的IP(X-Forwarded-For)”时,实际上是传递$proxy_add_x_forwarded_for这个变量:

    $proxy_add_x_forwarded_for
    the “X-Forwarded-For” client request header field with the $remote_addr variable appended to it, separated by a comma. If the “X-Forwarded-For” field is not present in the client request header, the $proxy_add_x_forwarded_for variable is equal to the $remote_addr variable.

    这个会转发客户端发来的X-Forwarded-For,同时把真实IP加上。
    这种情况下HTTP头里的X-Forwarded-For值可能是多个IP,可能是因为这个原因导致你的nginx日志里不能正常显示真实IP。

    所以你用APPNODE做测试时,反代节点上要配置“向后端服务器传递客户端真实IP(X-Real-IP)”这个选项。
    源站时使用的选项:“向后端服务器传递客户端转发的IP(X-Forwarded-For)”
    是转发客户端发来的X-Forwarded-For,而客户端就是你测试时使用的浏览器,不可能带这个HTTP头。

    所以你用APPNODE做测试时,反代节点上要配置“向后端服务器传递客户端真实IP(X-Real-IP)”这个选项。
    源站的“真实 IP 识别来源”也要改为使用“X-Real-IP”。

  • coldark 2020-4-8
    引用 9
    解决了,就是那个空格问题...

    抱歉打扰了(>人<;)
    为了我网站安全我把前面网站源文删掉吧。
  • sh5773 2020-4-8
    引用 10
    cdn那么多ip,不太好添加完整吧。
    我直接在nginx.config的http模块内添加
        set_real_ip_from               127.0.0.1/0;
        real_ip_header                 X-Forwarded-For;
        real_ip_recursive              on;
    可以识别访客真实ip
  • 虚竹 2020-4-8
    引用 11
    sh5773 cdn那么多ip,不太好添加完整吧。 我直接在nginx.config的http模块内添加 set_real_ip_from 127.0.0.1/0; ...
    没人刻意伪造IP的情况下,此法是最简便的。
返回
发新帖