Добрый вечер всем!
Возникла маленькая потребность, связанная с проверкой доступа на IP на
бекенде. Может вдруг кто делал такой модуль.
Есть следующее:
новая версия mod_accel 1.0.12 с поддержкой опции PH, благодаря которой на
фронтенде не надо создавать ниодного виртуального сервера, а их достаточно
иметь только на бекенде. Но при такой схеме (и даже при схеме без
использования PH флага) есть потребность некоторые папки разграничить по IP
адресам, доменам или сетям на бекенде.
Один из способов решения, но не удобный и громоздкий - на фронтенде такие
сайты перенести в виртуальные и прописать отдельно allow и deny и потом
AccelPass директиву, а второй вариант, мне кажется более элегантным и
само-собой разумеюшимся - фронтенд не трогать, а сделать аля модуль как
mod_access, типа mod_accelss, который бы выполнял все функции, как
mod_access, но для mod_accel с включенной опцией на фронтенде передавать IP
через X-Real-IP (вроде такой, могу ошибитсья) заголовок. То есть смотрит
такой модуль на бекенде в этот заголовок и решает дать доступ для
Directory/Location/virtual config или нет.
Как я понимаю, такая модуль может быть легко сделан на основе mod_access с
заменой только той части кода, которая берет IP адрес. Но я никогда для
apache модулей не писал :( Может кто использует такую же схему с флагом PH и
возьмется за такое? IMHO гораздо проще и лучше, когда ведешь учет всех
виртуалов только на бекенде, а на фронтенде стоит только глобальный
AccelPass / http://backend/ [PH]. А иначе придется и там и сям разносить
такой доступ.
Также второй плюс всего из этого - из фронтенд-а можно выкинуть модули
mod_dir, mod_access и другие, если покапаться, чтобы облегчить как можно
больше frontend...
Алексей Звягин
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.