Использование правил доступа Yii2 за Cloudflare для ограничения действий по ips - PullRequest
0 голосов
/ 04 февраля 2019

Окружающая среда: IIS 8 за прокси-сервером Cloudflare

Я использую правила доступа Yii2 за Cloudflare, чтобы ограничить действия IPS, что прекрасно работает, если не используется прокси-сервер Cloudflare.Я бы хотел прокси через Cloudflare, чтобы я мог использовать некоторые из их функций, но если я это сделаю в настоящее время, Yii увидит адреса сервера Cloudflare, а не IP-адреса клиентов.

Я полагаю, что ограничение прав доступа Yii2, ограничивающее действия IPS, используетREMOTE_ADDR заголовок, я хотел бы использовать заголовок HTTP_CF_CONNECTING_IP.Любые идеи о том, как лучше всего этого достичь?

Лучше ли я достичь этого через Yii2 с помощью переопределения или самого IIS или ...?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Просто чтобы подтвердить, что у меня это работает, используя следующую информацию в моем web.config

'request' => [ // ... 'trustedHosts' => [ '103.21.244.0/22' => [ 'cf-connecting-ip', ], // ... ], 'ipHeaders' => [ 'cf-connecting-ip', ], ],

IP-адреса Cloudflare можно найти здесь: Диапазон IP-адресов Cloudflare

0 голосов
/ 04 февраля 2019

Вам необходимо настроить Request::$trustedHosts на диапазон IP-адресов вашего прокси-сервера и Request::$ipHeaders на список разрешенных заголовков, которые будут использоваться для получения IP-адреса использования.Например, в вашей веб-конфигурации:

'request' => [
    // ...
    'trustedHosts' => [
        '10.0.2.0/24' => [
            'HTTP_CF_CONNECTING_IP',
        ],
    ],
    'ipHeaders' => [
        'HTTP_CF_CONNECTING_IP',
    ],
],

Убедитесь, что вы правильно настроили IP-адреса в trustedHosts - все хосты, которые соответствуют указанному диапазону, смогут подделать IP-адрес пользователя, отправив заголовок HTTP_CF_CONNECTING_IP.

Подробнее о доверенных прокси вы можете прочитать в guide .

...