2013-08-05 4 views
0

Я протестировал довольно много прокси-серверов, таких как HAProxy, Apache, Nginx и Lighttpd, но в моих журналах на моих серверах back-end торнадо меня просто посещает серверный сервер. Смысл, я хотел бы узнать реальный ip от клиента, который посещает, поэтому мой журнал-анализатор считает, что я получаю больше посещений, чем 1.Передние серверы возвращаются в качестве принимающего хоста

Что было бы самым простым способом сделать это?

Backend - это торнадо-питон, интерфейс может быть любым из вышеперечисленных, но в настоящее время у меня настроен nginx.

ответ

0

У вас есть несколько вариантов. Проще всего реализовать просто потреблять х-пересылаются-за заголовок:

http://en.wikipedia.org/wiki/X-Forwarded-For

Для включения х-пересылаются-за в HAProxy просто добавить:

вариант forwardfor

http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#4.2-option%20forwardfor

Если вы не хотите использовать заголовок x-forwarded-for, вы можете попытаться нажать «Протокол PROXY», внедренный в торнадо, или посмотреть на использование чего-то вроде gunicorn. http://gunicorn.org/. Протокол PROXY работает, добавляя исходную информацию L4 в конец данных L7. Принимающий сервер должен понимать протокол PROXY или он выглядит как поврежденный пакет.