Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE]开启CDN后网站日志只显示CDN回源IP #4971

Open
bushanhuo opened this issue May 10, 2024 · 6 comments
Open

[FEATURE]开启CDN后网站日志只显示CDN回源IP #4971

bushanhuo opened this issue May 10, 2024 · 6 comments
Assignees

Comments

@bushanhuo
Copy link

1Panel 版本

v1.10.7-lts

请描述您的需求或者改进建议

如题,开启CDN以后网站日志就变成下面这样的内容:
163.181.146.187 - - [10/May/2024:14:20:12 +0000] "GET /admin/?m=admin HTTP/1.1" 200 1895 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"

前面的163.181.146.187就是阿里云CDN的回源IP,而并非访问用户IP。

请描述你建议的实现方案

真实的用户IP都在这个HTTP头中:
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;

1Panel可以先获取一下存不存在这个HTTP头信息,如果存在则在网站日志中显示real ip。
如果HTTP头中不存在上面那些参数,则就按照标准信息返回。

就类似BT一样。

附加信息

No response

@zhengkunwang223
Copy link
Collaborator

image 可以增加一下这个配置 保存之后访问 网站然后查看 每行日志的最后的 IP 是不是真实 IP 如果是 可以修改 OpenResty 配置文件 image log_format 来调整日志中真实 IP 的位置

@bushanhuo
Copy link
Author

image 可以增加一下这个配置 保存之后访问 网站然后查看 每行日志的最后的 IP 是不是真实 IP 如果是 可以修改 OpenResty 配置文件 image log_format 来调整日志中真实 IP 的位置

嗯,主要是想像BT一样。
存在CDN就获取真实IP,然后日志就显示真实的IP。
不存在真实IP,就按照标准格式来显示。
这样弄也行,就是不符合正常阅读习惯。
如果把真实IP改到前面,没开CDN的站点就直接获取不到IP了,很麻烦。
不如1Panel内置给改了。

@zhengkunwang223
Copy link
Collaborator

能否贴一下 宝塔 的设置页面

@bushanhuo
Copy link
Author

能否贴一下 宝塔 的设置页面

宝塔里面,只需要修改一下Nginx设置,在Nginx中加上这样一段代码就可以实现:
2

这样就是开启CDN以后会自动显示真实的IP地址。
如果网站没有开启CDN也不会显示空白信息,显示的还是用户的访问IP地址。

@zhengkunwang223
Copy link
Collaborator

能否贴一下 宝塔 的设置页面

宝塔里面,只需要修改一下Nginx设置,在Nginx中加上这样一段代码就可以实现: 2

这样就是开启CDN以后会自动显示真实的IP地址。 如果网站没有开启CDN也不会显示空白信息,显示的还是用户的访问IP地址。

在 1Panel 中增加这段配置 IP 会空白是吗

@bushanhuo
Copy link
Author

能否贴一下 宝塔 的设置页面

宝塔里面,只需要修改一下Nginx设置,在Nginx中加上这样一段代码就可以实现: 2
这样就是开启CDN以后会自动显示真实的IP地址。 如果网站没有开启CDN也不会显示空白信息,显示的还是用户的访问IP地址。

在 1Panel 中增加这段配置 IP 会空白是吗

不会是空白,但是有个问题就是。
每次更新或者重载,再或者更新1P的时候会导致配置丢失。
如果能内置一个开启功能会方便很多,不用每次手动加进去。
手动加有点麻烦。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants