я использую Apache Reverse Proxy
, ниже приведены некоторые из Apache Virtual Host
конфигурация
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On
proxyPass / ajp://127.0.0.1:8009/
Теперь я хочу ограничить request url
лайк http://mysite.com/admin/tools
таким образом, чтобы он позволял доступ из определенных IP address
только. Как я могу этого добиться?
РЕДАКТИРОВАТЬ:
Согласно вышеуказанному требованию этот ответ работает нормально. Предположим, я хочу разрешить доступ admin
URL из одного или двух IP's
и отдыхать IP's
Я хочу перенаправить на index
страница вместо показа forbidden error
, как я могу это получить?
Что касается вышеуказанного требования, этот ответ работает нормально. Предположим, я хочу разрешить доступ к URL-адресу администратора с одного или двух IP-адресов и остальных IP-адресов, которые я хочу перенаправить на страницу индекса, а не показывать запрещенную ошибку, как я могу это получить?
Чтобы расширить ответ @ krist-van-besien, вы можете сделать это с помощью ErrorDocument
для 403 Запрещено как это:
<Location /admin/tools>
Order Deny,Allow
Deny from all
Allow from 192.168.1.34
ErrorDocument 403 /index.php
</Location>
Обратите внимание, что у пользователя должны быть разрешения на просмотр страницы, на которую вы его перенаправляете. Для получения дополнительной информации вы можете проверить этот вопрос: Разрешение заблокированному IP-адресу для просмотра 403 ErrorDocument
Какую версию apache вы используете? Один из способов ограничить доступ к ресурсам на основе URL-адреса - использовать
Например:
<Location /admin/tools>
Order Deny,Allow
Deny from all
Allow from 192.168.1.34
</Location>
Чтобы расширить этот сценарий для применения к конечной точке веб-службы RESTful, вместо вызова конечной точки с веб-страницы.
Есть ли способ проксировать запросы с веб-страницы локального сервера и пересылать их на адрес веб-службы, а также разрешать локальным внутренним сетевым запросам (разработчикам) доступ к конечной точке веб-службы, но при этом ограничивать прямые внешние запросы конечной точки WS?
Например, если веб-служба работает на Tomcat (порт 8080), и мы используем mod_proxy для перенаправления запросов apache с веб-страницы на порт 80 -> tomcat: 8080 / webservice в вызовах службы веб-страницы.
<Location /admin/tools>
Order Deny,Allow
Deny from all
Allow from localhost
Allow from 127.0.0.1
Allow from *local.domain.com
</Location>
ProxyPass /admin/tools http://localhost:8080/admin/tools
ProxyPassReverse /admin/tools http://localhost:8080/admin/tools
Когда я пытаюсь это сделать, он блокирует весь доступ к конечной точке WS, включая запрос веб-страницы, идущий через конечную точку прохода прокси.