У меня пять серверов под управлением 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