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

Apache2 mod_proxy: внутренние серверы регистрируют внешний сервер как источник всех запросов

У меня пять серверов под управлением Ubuntu (LAMP). Один из них (называемый Server1) принимает все входящие запросы из Интернета и использует VirtualHosts и mod_proxy для доставки правильного запроса на правильный сервер в локальной сети.

Моя проблема в том, что во всех журналах на моих внутренних серверах все запросы регистрируются как поступающие с IP-адреса Server1.

Почему это так и как это исправить?

Вот почему хорошие люди из Squid изобрели X-Forwarded-For.

На ваших прокси-серверах заголовок уже должен быть добавлен к запросам; mod_proxy позаботится об этом.

На внутреннем сервере измените существующую конфигурацию ведения журнала, чтобы удалить удаленный хост (%h) и добавьте содержимое этого заголовка (%{X-Forwarded-For}i). Например:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
CustomLog logs/access_log common_forwarded