当前位置:论坛首页 > BUG提交 > Linux面板

【已解答】宝塔最新版 专业版插件BUG

发表在 BUG提交2020-8-30 11:34 [复制链接] 16 14898

宝塔更新完毕以后,真实IP BUG问题。
网站开启了CDN模式,因为宝塔的nginx防火墙里有使用CDN的选项,会自动识别真实IP
所以就没折腾修改nginx
(收费的专业版Nginx防火墙并非免费版)

结果我昨天查询了一下日志发现显示的全是CDN的节点IP

起初我以为是设置问题,后来折腾发现也不是设置问题。
设置都是正确的

因为之前宝塔版本里,防火墙里只要对应域名设置使用CDN就会自动识别真实IP。
所以我就以为我把宝塔面板弄坏了,结果最后怎么弄都没好。
自己看了网上的教程,在nginx里加上一行代码就可以识别。

到最后还是宝塔防火墙插件问题。
哎。。。。弄到现在反馈一下给官方修复一下吧。


使用道具 举报 只看该作者 回复
发表于 2020-8-30 11:54:25 | 显示全部楼层
您好,默认的获取cdn真实ip是x-forwarded-for 这个参数获取的,但是很多cdn厂商并不是默认的这个参数,都是根据自己的cdn获取方法获取的,例如您的 set_real_ip_from这个
使用道具 举报 回复 支持 反对
发表于 2020-8-30 11:57:34 | 显示全部楼层
大炮运维V587 发表于 2020-8-30 11:54
您好,默认的获取cdn真实ip是x-forwarded-for 这个参数获取的,但是很多cdn厂商并不是默认的这个参数,都是 ...

确实x-forwarded-for没错的,但是开启是无效的,你可以看我后面修改nginx的。
图里显示了
使用道具 举报 回复 支持 反对
发表于 2020-8-30 11:58:49 | 显示全部楼层
大炮运维V587 发表于 2020-8-30 11:54
您好,默认的获取cdn真实ip是x-forwarded-for 这个参数获取的,但是很多cdn厂商并不是默认的这个参数,都是 ...



Nginx防火墙开启CDN并且配置x-forwarded-for是无效的。
但是如果修改Nginx  
x-forwarded-for  就正常显示源站IP了。
已经测试过无数次了。
使用道具 举报 回复 支持 反对
发表于 2020-8-31 09:32:13 | 显示全部楼层
1. Nginx 防火墙 只要开启CDN 就能获取到真实的用户IP 。而你看的方式不对。你这是通过看Nginx访问日志去判断是否设置了。。。
Nginx 日志哪里获取的IP 和Nginx防火墙获取的IP 是两个事情。。。。

麻烦你能。正确认识到这两个事情是两回事情。
而不是安装了防火墙 nginx 日志中就能显示的是客户的IP
使用道具 举报 回复 支持 反对
发表于 2020-8-31 09:33:56 | 显示全部楼层
你开启了CDN 。想要在日志中获取正确的IP 就得需要在Nginx 里面设置 xxf 或者r-ip。这个你需要去普及一下专业知识了。
使用道具 举报 回复 支持 反对
发表于 2020-8-31 14:25:45 | 显示全部楼层
宝塔技术-小强 发表于 2020-8-31 09:33
你开启了CDN 。想要在日志中获取正确的IP 就得需要在Nginx 里面设置 xxf 或者r-ip。这个你需要去普及一下专 ...

你说的这些我知道啊。
但是我想知道如果还需要配置Nginx才能获取正常日志内容,那防火墙的开启CDN的作用是什么呢?因为如果你不去配置Nginx,单纯使用防火墙开启CDN功能的话,网站上显示用户在线IP仍然是CDN节点IP,所有人都是CDN节点IP。
使用道具 举报 回复 支持 反对
发表于 2020-8-31 15:05:08 | 显示全部楼层
宝塔技术-小强 发表于 2020-8-31 09:33
你开启了CDN 。想要在日志中获取正确的IP 就得需要在Nginx 里面设置 xxf 或者r-ip。这个你需要去普及一下专 ...

稍等我给你网站在线IP显示。
使用道具 举报 回复 支持 反对
发表于 2020-8-31 18:55:29 | 显示全部楼层
宝塔技术-小强 发表于 2020-8-31 09:33
你开启了CDN 。想要在日志中获取正确的IP 就得需要在Nginx 里面设置 xxf 或者r-ip。这个你需要去普及一下专 ...

IP.png

这是只启动了Nginx防火墙的CDN功能,显示IP仍为CDN节点IP


IP2.png


修改Nginx配置以后论坛所显示的在线IP。

莫非是论坛IP也是读的Nginx日志?

使用道具 举报 回复 支持 反对
发表于 2020-9-1 10:12:25 | 显示全部楼层
BestChen 发表于 2020-8-31 14:25
你说的这些我知道啊。
但是我想知道如果还需要配置Nginx才能获取正常日志内容,那防火墙的开启CDN的作用是 ...

防火墙的开启CDN 功能很明确了。就是单纯的从header 头部去获取IP 地址。 至于你网站为什么显示的是CDN 的IP 。这个和你可以卸载防火墙你就知道了。

因为防火墙没有改动你的任何的数据。你网站原先是怎么样子。卸载之后和安装之后还是怎么样子的
使用道具 举报 回复 支持 反对
发表于 2020-9-1 10:13:37 | 显示全部楼层
那个地方就是从头部去获取IP 。其实没啥纠结的。要么就是头部不对。要么就是你网站代码获取的IP就直接用的连接IP
或者也是没有取到xff 的地址。
使用道具 举报 回复 支持 反对
发表于 2020-9-1 10:18:23 | 显示全部楼层
防火墙只是拦截。和你网站怎么去获取IP 无关的。

你直接用如下的去测试

aa.com/index.php?id=/etc/passwd

l拦截之后。你在日志中。看看。如果是你的本地IP 那么防火墙的获取IP 就是正常的。

然后其他的就是你的网站或者nginx的配置问题。
使用道具 举报 回复 支持 反对
发表于 2020-9-1 10:21:32 | 显示全部楼层
首先要跟你说明的是。

防火墙不管怎么获取攻击者的IP    都不会和你网站或者nginx 日志有任何冲突。他只是获取IP 地址。进行防御。


但是你网站的日志 和 你网站的获取IP 地址。这个是和防火墙没有半点关系的。

你需要理顺 这两者的关系。就算你卸载了防火墙也是一样的。防火墙其实就是套了一层。但是呢。所有的东西没有任何变化。

你之前是怎么样子。现在还是什么样子的
使用道具 举报 回复 支持 反对
发表于 2020-9-1 13:12:17 | 显示全部楼层
宝塔技术-小强 发表于 2020-9-1 10:21
首先要跟你说明的是。

防火墙不管怎么获取攻击者的IP    都不会和你网站或者nginx 日志有任何冲突。他只是 ...

就是说防火墙的开启CDN模式,只是为了获取攻击者真实IP信息,并不是为了网站获取真实IP信息呗。
使用道具 举报 回复 支持 反对
发表于 2020-9-1 14:25:04 | 显示全部楼层
BestChen 发表于 2020-9-1 13:12
就是说防火墙的开启CDN模式,只是为了获取攻击者真实IP信息,并不是为了网站获取真实IP信息呗。 ...

网站那个是网站代码层面去获取的。这个防火墙管理不了
使用道具 举报 回复 支持 反对
12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表