Я хочу ограничить доступ определенных доменов к службам на моем сервере приложений. Например; 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.