使用Cloudflare背后的Yii2访问规则限制IP的操作
环境:Cloudflare代理后的IIS 8 我使用Cloudflare背后的Yi2访问规则来限制IPS的操作,这在不使用Cloudflare代理时效果很好。我想通过Cloudflare代理,这样我就可以使用他们的一些功能,但如果我现在这样做,我会看到Cloudflare服务器地址,而不是客户端IP地址 我相信Yii2 Acces规则限制IP的操作使用使用Cloudflare背后的Yii2访问规则限制IP的操作,yii2,iis-8,cloudflare,Yii2,Iis 8,Cloudflare,环境:Cloudflare代理后的IIS 8 我使用Cloudflare背后的Yi2访问规则来限制IPS的操作,这在不使用Cloudflare代理时效果很好。我想通过Cloudflare代理,这样我就可以使用他们的一些功能,但如果我现在这样做,我会看到Cloudflare服务器地址,而不是客户端IP地址 我相信Yii2 Acces规则限制IP的操作使用远程地址头,我想使用头HTTP\u CF\u连接\u IP。关于如何最好地实现这一点,有什么想法吗 我是通过Yi2通过覆盖或IIS本身或…?实现这
远程地址头,我想使用头HTTP\u CF\u连接\u IP
。关于如何最好地实现这一点,有什么想法吗
我是通过Yi2通过覆盖或IIS本身或…?实现这一点的最佳方法,您需要配置代理的IPs范围和用于获取IP的允许标头列表。例如,在web配置中:
'request' => [
// ...
'trustedHosts' => [
'10.0.2.0/24' => [
'HTTP_CF_CONNECTING_IP',
],
],
'ipHeaders' => [
'HTTP_CF_CONNECTING_IP',
],
],
确保在trustedHosts
中正确配置IP-所有与指定范围匹配的主机都可以通过发送HTTP\u CF\u CONNECTING\u IP
头来伪造用户IP
您可以在中阅读有关受信任代理的更多信息。只是为了确认我在我的web.config中使用了以下内容
“请求”=>[
// ...
“trustedHosts”=>[
'103.21.244.0/22' => [
“cf连接ip”,
],
// ...
],
“ipHeaders”=>[
“cf连接ip”,
],
],
Cloudflare IPs可以在这里找到:我知道我可以通过一个函数实现这一点,但我特别希望使用Yii2访问规则。这看起来正是我想要的。谢谢@rob006:)我的Google fu让我失望了。我要把书读起来,试一试