MAGENTO在线客户列表显示服务器IP地址而不是远程IP地址

今天,我们遇到了一个问题,即Magento管理员中的在线客户选项显示的是Web服务器的IP地址,而不是客户的/远程IP地址。经过进一步调查,我们发现这是由于Web服务器位于清漆服务器后面导致此问题。即使您的Web服务器位于代理服务器之后,也会发生相同的问题。

实际上,我们可能会忽略上述问题,因为它并没有阻止商店中的任何事情,但是随后我们发现了另一个问题,World pay phoenix模块最终出现在故障页面上,在进一步调查之后,我们在/ app / code中找到了以下行/community/Phoenix/Worldpay/controllers/ProcessingController.php-

$remoteAddr = $request['REMOTE_ADDR'];
 
if (substr($remoteAddr,0,11) != '155.136.16.') {
.......
}

它正在比较WorldPay的IP地址,以确保它直接来自WorldPay,并且没有受到任何人的限制。由于清漆服务器就位,因此您确定知道此检查失败,并且日志文件显示以下错误-:

Worldpay response error: IP can't be validated as WorldPay-IP.

无论如何,现在我们必须找到解决此问题的解决方案,并且在更详细地研究之后,我们发现Magento有解决方案,而我们要做的就是在local.xml中添加以下代码,如下所示:

<config>
  <global>
     .....
     .....
     <remote_addr_headers>
           <header1>HTTP_X_REAL_IP</header1>
       <header2>HTTP_X_FORWARDED_FOR</header2>
           <header3>REMOTE_ADDR</header3>
     </remote_addr_headers>
  </global>

然后,我们清除了缓存,所有这些都像个魅力一样发挥了作用!希望本文对您有所帮助。请留下您的评论,让我们知道您的想法?谢谢。

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论