Как запретить доступ к подразделу - PullRequest
0 голосов
/ 04 октября 2019

У меня есть веб-приложение, скрытое за Apache 2.4, которое настроено как прокси

Моя конфигурация выглядит следующим образом:

<Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>

Недавно меня попросили запретить кому-либо, кроме IP-адресов из белого списка,доступ к myapp API, который доступен через / myapp / api /

Мне не удается выполнить правильную настройку в Apache, чтобы сделать его таким:

Вот что я пробовал до сих пор:

<Location /myapp/api>
Proxypass ajp://localhost:8009/myapp/api
Require local
Require 1.2.3.4
</Location>


<Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>

Так что мне нужно, чтобы http://mysite/myapp/ был доступен для всех, но чтобы ограничить вызовы http://mysite/myapp/api/* для нескольких IP-адресов белого цвета

знаете, как мне этого добиться?

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 06 октября 2019

Из-за перекрывающегося веб-пространства вы должны изменить порядок Location директив

 <Location /myapp>
Proxypass ajp://localhost:8009/myapp
Require all granted
</Location>

<Location /myapp/api>
Proxypass ajp://localhost:8009/myapp/api
Require local
Require 1.2.3.4
</Location>
...