为什么$ _SERVER ['REMOTE_ADDR']返回网关ip而不是使用强制路由器的远程ip?

时间:2013-09-26 09:37:55

标签: php ip firewall nat

我有一台通过Fortigate 40C连接到互联网的服务器。当我的php代码调用$_SERVER['REMOTE_ADDR']时,它返回路由器的ip地址(fortigate),而不是访问php脚本的远程IP。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

Fortigate有一个选项可以在策略上“启用NAT”,这并不意味着转换地址(无论如何都会为你做这件事),但这意味着它会改变一些用网关IP替换远程IP的数据包。

确保已禁用“启用NAT”,$_SERVER['REMOTE_ADDR']将按预期工作。