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

能否支持一下 CDN 转发的 IP 地址? #33

Closed
Dreamer-Paul opened this issue Oct 17, 2018 · 5 comments
Closed

能否支持一下 CDN 转发的 IP 地址? #33

Dreamer-Paul opened this issue Oct 17, 2018 · 5 comments

Comments

@Dreamer-Paul
Copy link
Contributor

由于我的网站采用了 CloudFlare 作为防护,故本插件获得的原站 IP 都是 CF 的节点。我自己倒是发现 HTTP_X_FORWARDED_FOR 头是可以获取真实用户 IP 的,不知作者能否让插件支持一下~

@kokororin
Copy link
Owner

@Innei
Copy link

Innei commented Feb 17, 2019

网站挂了. 请问你最新的博客是..

@kokororin
Copy link
Owner

网站挂了. 请问你最新的博客是..

https://www.typecho.wiki/archives/typecho-configuring-cdn-to-get-visitors-real-ip.html

@kokororin kokororin pinned this issue May 14, 2022
@Captain-ZR
Copy link

你好,我好像看不到你博客中的关于获取真实ip的评论,请问是我操作的问题吗,还是您删除了

@Captain-ZR
Copy link

Captain-ZR commented Nov 3, 2023

你好,我好像看不到你博客中的关于获取真实ip的评论,请问是我操作的问题吗,还是您删除了

解决了,以下为解决步骤
在typecho根目录中的config.inc.php文件中添加以下两个部分

1. 在config.inc.php文件前部添加define,以下三个三选一即可

define('__TYPECHO_IP_SOURCE__', 'HTTP_ALI_CDN_REAL_IP');

define('__TYPECHO_IP_SOURCE__','HTTP_CLIENT_IP');

define('__TYPECHO_IP_SOURCE__','HTTP_X_FORWARDED_FOR');

2. 在config.inc.php文件最后加上

if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];?>

以上两步完成应该就可以了,如果没效果试试重新启动php-fpm
注意:要两步都完成才可以

我在网上查找相关资料的时候,很多都是说像第一步中添加一个define即可;也有说加上一句类似第二步中的if语句。网上的说法都是两个步骤之一完成就可以了,但是我试过都没效果。我是刚好运气好把两步都一起做了才有效果,至于原理我也不懂,本人对相关技术不了解

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

No branches or pull requests

4 participants