Мне нужно отклонить все запросы к Apache, но разрешить только определенный шаблон URL.
Это существующие серверы Linux, работающие под управлением Apache 2.4, Nodejs и т. Д. В настоящее время я использую <Location>
для настройки proxypass в соответствии с URL. Например,
Пусть URL-адреса:
http://111.111.111.111/version1/something/continutes
http://111.111.111.111/version2/something/continutes
<Location /version1/>
ProxyPass http://some.ip.address:3003/ retry=0 timeout=60 keepalive=On
ProxyPassReverse http://some.ip.address:3003/
</Location>
<Location /version2/>
ProxyPass http://some.another.ip.address:3004/ retry=0 timeout=60 keepalive=On
ProxyPassReverse http://some.another.ip.address:3004/
</Location>
Таким образом, в соответствии с запрошенным шаблоном URL-адреса, я могу использовать прокси для разных портов и IP-адресов.
Что мне нужно, так это то, что я хочу отклонить все другие запросы, такие как:
http://111.111.111.111/ (четный /)
или
http://111.111.111.111/anyother/request
Я могу решить эту проблему в Nginx, используя местоположение (например, apache). и в конце я указываю:
location / {
deny all;
return 403;
}
Но когда я подаю заявку на Apache следующим образом:
<Location /version1/>
ProxyPass http://some.ip.address:3003/ retry=0 timeout=60 keepalive=On
ProxyPassReverse http://some.ip.address:3003/
</Location>
<Location /version2/>
ProxyPass http://some.another.ip.address:3004/ retry=0 timeout=60 keepalive=On
ProxyPassReverse http://some.another.ip.address:3004/
</Location>
<Location />
Order Allow, Deny
</Location>
Он отклоняет любые запросы, включая / version1 / и / version2 /
Подводя итог, я хочу обслуживать только некоторые указанные URL-адреса и отклонять все другие запросы, кроме этих (событие / запрос). Как я могу решить эту проблему с помощью Apache?
Спасибо,
Привет