В настоящее время я запускаю Varnish в качестве обратного прокси-сервера перед нашим веб-сайтом разработки, тестируя его перед развертыванием в производстве. Одна из вещей, с которой мне пришлось столкнуться, - это ведение журнала: в мире прямого доступа Apache регистрирует IP-адрес клиента в access_log
и error_log
. Это немного менее полезно, когда каждое клиентское соединение осуществляется из нашего Varnish box.
Я сделал некоторые настройки с помощью SetEnvIf
и LogFormat
, а теперь наш access_log
интеллектуально регистрирует соответствующий IP из REMOTE_HOST
или X-Forwarded-For
, в зависимости от источника входящего соединения. Это ничего не делает для error_log
хотя. Насколько я могу судить, я не могу изменить IP-адрес клиента в этом журнале.
Итак, каковы ваши решения для входа в мир обратного прокси? Должен ли я в значительной степени списать стандартное ведение журнала Apache и сосредоточить свои усилия на другом месте, т.е. в коде? Меня здесь интересует как статистика использования, так и аудит безопасности.
Наконечник:
mod_rpaf - rpaf - это сокращение от обратного прокси, добавляемого вперед.
Он изменяет удаленный адрес клиента, видимый для других модулей Apache, когда выполняются два условия. Первое условие заключается в том, что удаленный клиент на самом деле является прокси-сервером, который определен в httpd.conf. Во-вторых, если есть входящий заголовок X-Forwarded-For и прокси находится в его списке известных прокси, он берет последний IP-адрес из входящего заголовка X-Forwarded-For и изменяет удаленный адрес клиента в структуре запроса.
В error_log
сообщает об ошибках между Varnish и Apache, любые ошибки, возникающие между клиентом и Varnish, будут регистрироваться на конце Varnishs, а не Apache. Ваш error_log
должен быть пустым, поскольку вы контролируете обе конечные точки. Все, что появляется в этом журнале, следует рассматривать как серьезное.
Все логирую в Varnish (varnishlog
в файл, меняемый ежечасно в течение пары дней). Позвольте мне точно сопоставить, что происходит в Varnish, с тем, что происходит за кулисами.
Ваша статистика использования, как вы говорите, в основном покрывается разумным ведением журнала X-Forwarded-For
, хотя вы также можете использовать varnishncsa
для более полного ведения журнала доступа (чтобы вы знали каждое попадание на ваш сайт). «Аудит безопасности» слишком широк, чтобы давать конкретные рекомендации.