Безопасный Apache при использовании mod_proxy_http и mod_rewrite

У нас есть сервер Apache, который работает в качестве прокси для приложений, работающих на разных портах. Например:

domain.com/app1/service1  >  localhost:101
domain.com/app1/service2  >  localhost:102
domain.com/app2/service1  >  localhost:201

Правила определения порта приложения довольно сложны, поэтому я использую скрипт для этого с помощью mod_rewrite:

RewriteEngine On
RewriteMap mapper prg:/foler/rewriteUrl.sh
RewriteRule ^(.*)$ ${mapper:%{REQUEST_URI}} [P]

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

telnet domain.com 80
GET http://www.yahoo.com/ HTTP/1.1
Host: www.yahoo.com

Здесь я получаю контент от Yahoo, что означает, что любой может подключиться к моему серверу и начать делать запросы к другим серверам.

Я видел, что Apache рекомендует защитить ваш прокси, как указано здесь:

http://httpd.apache.org/docs/trunk/mod/mod_proxy.html

Но проблема в том, что я не знаю, какие IP-адреса будут использовать мой сервер в расширенном режиме, поэтому мой вопрос заключается в том, как решить эту проблему, и в то же время любой может сделать запрос на мои приложения?

Некоторая дополнительная информация:

  • Все мои приложения находятся на одной машине с моим сервером Apache
  • Если мне нужно переместить мои приложения на другие серверы, они все еще будут в моем Интранете
  • У меня есть mod_proxy, mod_proxy_http и mod_rewrite включены

Спасибо

1 ответ

Если я правильно понимаю, что вы делаете, вам нужен не прямой прокси, а шлюз, потому что все, что вы проксируете, - это запросы от глобальной сети к интрасети, то есть обратный прокси, почему бы просто не отключить ProxyRequest?

ProxyRequest Off

Директива ProxyRequests

Это позволяет или запрещает Apache httpd функционировать в качестве прямого прокси-сервера. (Установка ProxyRequests на Off не запрещает использование директивы ProxyPass.)

В типичной конфигурации обратного прокси-сервера или шлюза этот параметр должен быть отключен.

Другие вопросы по тегам