Назад | Перейти на главную страницу

Apache - защита определенных шаблонов http

Я хочу ограничить доступ определенных доменов к службам на моем сервере приложений. Например; mydomain.com/sensitiveInformationServlet

Я хочу создать фильтр на моем сервере Apache, который будет соответствовать всем запросам для этого сервлета и проверять домен и, если доверенный, разрешать доступ.

Как лучше всего это сделать? Первоначально я думал, что могу создать виртуальный хост, а затем применить модуль mod_authz_host, однако виртуальный хост может отображать только домен и порт и игнорировать все, что находится после порта.

Какие-либо предложения? Вот как далеко я зашел

<VirtualHost mydomain>
    <Location />
       Order Deny,Allow
       Deny from all
       Allow from mydomain.com some.trusteddomain.com
    </Location>
</VirtualHost>

Это заблокирует доступ ко всему сайту, а не только к сервлету sensitiveInformationServlet.

Так что укажите это.

<VirtualHost *:80>
    DocumentRoot /your/fancy/web/site
    <Location /SensitiveInformationURL>
       Order Deny,Allow
       Deny from all
       Allow from specific.IP.range.to.prevent.expensive.lookups.
    </Location>
</VirtualHost>

Сопоставление клиентов по домену обходится дорого, поскольку для этого требуется поиск PTR каждый запрос.
Я также исправил ваш неисправный VirtualHost.