WordPress 使用 mod_remoteip 显示代理 IP 地址

WordPress 使用 mod_remoteip 显示代理 IP 地址

我之前设置过,它在其他服务器上也能正常工作,但我无论如何也想不出为什么它在这种情况下不起作用,尽管我有一个可能的理论。所有这些都在亚马逊网络服务中。

因此,在这种情况下,我们使用 IIS 8 在 Windows 服务器上托管主站点。博客在另一台运行 Ubuntu/Apache 2.4.6 的服务器上托管 WordPress。主站点位于 VPC 中,以支持多个 IP 地址。博客位于 VPC 之外。

其他设置(有效)都使用 nginx 作为反向代理服务器而不是 IIS,并且代理和服务器位于同一个 VPC 中。这真的很重要吗?

从工作配置来看:

LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 172.31.x.x/32

非工作配置:

LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 54.2x.x.x

我也尝试过类似的做法,比如:

RemoteIPTrustedProxy 54.2x.x.x # tried /32 and /24
RemoteIPInternalProxy 54.x.x.x/32 # also tried /24
RemoteIPTrustedProxy www...

使用测试 PHP 页面来查看它是否正常工作,我看到了以下内容print_r($_SERVER);

[HTTP_X_FORWARDED_BY] => www.....
[HTTP_X_FORWARDED_FOR] => x.x.x.x:x
[SERVER_ADDR] => 10.230.x.x
[SERVER_PORT] => 80
[REMOTE_ADDR] => 54.2x.x.x

PHP 的 getheaders 函数的输出如下:

[X-Forwarded-By] => www....
[X-Forwarded-For] => x.x.x.x:x

文档列出作为内联网 IP 地址。模块真的因为没有检测到内联网块mod_remoteip172.16/12拒绝正常工作吗?我在错误日志中也找不到任何相关信息。

以这种方式运作似乎很愚蠢,但这是唯一有意义的理论。

另外值得注意的是,因为我知道有人会问:我们在设置博客服务器后设置了 VPC,但我们还没有完成在 VPC 内重新启动它的工作。我试图在没有它的情况下让它工作,但如果这是问题所在,那么我们会考虑这样做。

谢谢。

相关内容