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

Apache2 смешивание прямого и обратного прокси

Я обновил apache2, который теперь ведет себя иначе. Я хочу смешать прямой прокси, доступный только из интрасети, и обратный прокси, который должен быть доступен из Интернета.

Что случилось, так это то, что с моей конфигурацией прокси-сервер был доступен из Интернета. Я переместил прокси-сервер пересылки на новый виртуальный хост. Поэтому я попытался настроить прокси так, чтобы все блокировать, и настроить прокси только для обратных хостов. Однако прямой прокси-сервер все еще доступен, но я не могу подключиться к обратному прокси-адресу: «У вас нет разрешения на доступ к / s / на этом сервере».

<VirtualHost *:80>
           SSLProxyEngine on

     ProxyRequests On

    <Proxy *>
            Deny from all
   </Proxy>
    <Proxy /s/>
            Allow from all
    </Proxy>

   ProxyPass /s/ http://internalwebserver/
   ProxyPassReverse /s/ http://internalwebserver/
</VirtualHost>

Как мне настроить apache? Можно ли настроить прямой и обратный прокси на одном виртуальном хосте?

Заранее спасибо Саймон

Отвечая на мой собственный вопрос, виноват был ProxyRequest On. Это нужно только для прямого прокси. Также, если этот параметр включен, разрешает проксирование всех запросов для «обычного» веб-сервера.

При наличии обратного и прямого прокси-сервера для прямого прокси-сервера требуется отдельный VirtualHost на другом порту (ProxyRequest включен), оставляя обратные прокси в обычном VirtualHost с выключенным ProxyRequest, так что проксирование также не выполняется для веб-сервера.

Ваш /s/ прокси имеет Deny from all директива.

Попробуйте ограничить список разрешенных прокси-сервером, к которому ваша локальная сеть должна иметь доступ:

Allow from 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8

И отрицаю от всех остальных.