0x01 前言

我的Wordpress是经过多重代理才到达后端的PHP,在网站刚上线的时候,在网站后台或日志中看到的所有来源日志都是源自IP:127.0.0.1,这肯定是不正确的,也不利于统计分析。

0x02 解决

我的前端使用nginx,nignx后面跟着apache,最后才是PHP。为了便捷性,我使用以下header进行真实用户IP的传递:

首先设置nginx,在server段中添加以下内容并重新加载nginx:

$proxy_add_x_forwarded_for 这个变量会将所有代理的IP都包含其中,而第一个IP就是用户的真实IP,值的格式如下:

然后配置apache,如果你没有使用apache,可以跳过这一步。首先需要确认你加载了相应的模块:

然后在httpd.conf中添加以下内容并重新启动apache:

完成后还需要将以下内容添加至wp-config.php或主题文件中的functions.php文件中,两者取一即可:

0x03 结语

完成后,一切顺利的话,访客的真实IP就可以完美地传递到后端了。

2 条评论 / comments

  1. Thank you very much for your support.
    I will continue to write and record what I have learned.
    If you have any questions, I would be happy to discuss it with you.

  2. I’ve been surfing online more than 2 hours today,
    yet I never found any interesting article like yours.
    It is pretty worth enough for me. In my opinion, if all web owners
    and bloggers made good content as you did, the internet will be much more useful than ever
    before.

Comments are closed.