Рейтинг:0

Используйте удаленный IP-адрес Apache, но требуйте, чтобы IP-адрес прокси-сервера находился в диапазоне

флаг in

Я разместил свои локальные сайты за Cloudflare для дополнительного уровня производительности.

Чтобы восстановить исходный IP-адрес подключения, я использую mod_remoteip, настроенный со всеми диапазонами IP-адресов Cloudflare.

Я также хочу настроить сайт исключительно для доступа через Cloudflare Access, ограничив доступ для всех, кто пытается подключиться в обход Cloudflare Access.

Я читал в Интернете, что вы можете сделать это с помощью таких правил, как Требовать ip xx.xx.xx.xx/24 (и т. д.), но они работают только в моей ситуации, если я проверяю исходный IP-адрес прокси-сервера, но это уже было перезаписано mod_remoteip.

Есть ли способ применить исходный IP-адрес прокси-сервера или потребовать, чтобы в запросе был переписан IP-адрес, или что-то в этом роде, которое будет делать то, что мне нужно?

Рейтинг:0
флаг kr
Bob

Просто настройте некоторую форму управления доступом на основе IP вне Apache, в брандмауэре, группе безопасности или подобном. Разрешить только IP-диапазоны CloudFlare https://www.cloudflare.com/ips/ для доступа к портам вашего веб-сервера, и вы не обнаружите никаких запросов, которые обходят облака в Apache.

Только более сложный Apache:

Убедитесь, что mod_remoteip анализирует только запросы от CloudFlare:

mod_remoteip предлагает RemoteIPTrustedProxyList где вы можете легко загрузить текстовую версию списка IP-адресов CloudFlare

Убедившись, что mod__remoteip активируется только для IP-адресов CloudFlare, вы можете использовать следующий лакомый кусочек, спрятанный в документации:

Базовый клиентский IP-адрес соединения доступен в строке формата %{c}a.

А затем потенциально основывайте контроль доступа на наличии этой строки формата. Непроверенный:

<If "! %{c}a}”>

    Require all denied
</If>
David Wheatley avatar
флаг in
Спасибо за ответ! Я попробовал ваше второе решение, так как казалось, что его будет проще реализовать. Я добавил к одному из моих `` записи, но он жаловался, что `Переменная 'c' не существует.`. Любые идеи, почему это может быть?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.