前端使用了NGINX反向代理,结果发现log里面的ip地址都是127.0.0.1,在网上找了一圈没找到结果,后来看了下源码,发现配置文件中有个 TransparentProxyIPs的变量,当这个设置为真的时候,就从X-Forwarded-For里面获取IP。 如下:
my $ip = $trusted ? $app->getheader(‘X-Forwarded-For’) : $remoteip;
官网的说明
- If your webserver is behind an HTTP proxy, it will look as if all comments and trackback pings are coming from the same IP address, making it difficult (nay, impossible) to ban any particular sender’s IP address。
剩下的就很简单了,在mt-config.cgi中加入
TransparentProxyIPs 1
重启perl的相关服务,一切就OK了