Назад | Перейти на главную страницу

Прокси-сервер Apache и правило перезаписи для прокси

Я настроил свой сервер Apache в качестве прокси для локального сервера, прослушивающего порт 8080. Он работает независимо от того, указываю я действующий прокси или нет. Обе конфигурации работают.

Конфигурация 1:

<Proxy http://localhost:8080>
    Order deny,allow
    Allow from all
</Proxy>

RewriteEngine on
RewriteRule ^(.*) http://localhost:8080$1 [P]

Конфигурация 2:

RewriteEngine on
RewriteRule ^(.*) http://localhost:8080$1 [P]

Может ли кто-нибудь объяснить мне, почему мне не нужно указывать действующий прокси, как показано в конфигурации 2?

В Proxy http://localhost:8080 предназначен только для применения разрешений и других правил apache (ограничение некоторым IP-адресом клиента, запрос аутентификации и т. д.), а не для настройки самого прокси.

Эквивалентный прокси без mod_rewrite будет выглядеть так:

ProxyPass / http://localhost:8080

Или, если вам нужно применить какое-либо ограничение:

<Proxy http://localhost:8080>
    Order allow,deny
    Allow from all
    Deny from badguy
</Proxy>
ProxyPass / http://localhost:8080