У нас есть сервер Apache на машине Windows Server 2008, который используется для определенного защищенного трафика для наших клиентов, например, шлюз.
Теперь я хочу разрешить трафик только для определенного диапазона защищенных URL-адресов, определяемых подстановочным знаком uri: **** secure.mysite.com ****, и отклонить все остальные запросы http или https к Apache
Как это настроить в файле Apache httpd conf?
Спасибо
Ты можешь позволять доступ через переменную среды, которая устанавливается только через шаблоны URI запроса, с которыми вы хотите сопоставить SetEnvIf.
На вашем хосте или виртуальном хосте настройте следующее с URI, которые вы хотите разрешить:
SetEnvIf Request_URI ^/requests/you/want/.* allow
SetEnvIf Request_URI ^/requests/you/want/.+?\.php$ allow
Если вы обслуживаете запросы от Apache:
<Location />
Order Deny,Allow
Deny from all
Allow from env=allow
</Location>
Или при проксировании через mod_proxy, вы, вероятно, захотите объединить совпадение URI с некоторыми ограничениями IP, чтобы у вас не было открытого прокси.
SetEnvIf Remote_Addr ^10\..+ deny
<Proxy *>
Order Allow,Deny
Deny from env=deny
Allow from env=allow
</Proxy>
В этом случае, если IP не в 10.0.0.0/8
диапазон отрицать, Order
быть важным