On Wed, 24 Oct 2001, Alexander A.Lyubushkin wrote:
> При использовании модуля Proxy в варианте frontend-backend
> сервера, невозможно получить корректное значение REMOTE_ADDR
> на backend сервере. REMOTE_ADDR ссылается на frontend сервер.
> А такую вещь как HTTP_X_FORWARDED_FOR в Apache-Proxy не
> нашел.
$ENV{HTTP_X_FORWARDED_FOR}
> Возникла идея подправить исходный текст модуля Proxy путем добавления
> к HTTP запросу на backend своего заголовка, например
> HTTP_MYREAL_IP. В файле /src/modules/proxy/proxy_http.c был найден
> кусок кода где создается заголовок запроса
> (текст перед
> /* send the request data, if any. */
> )
> то есть заголовок нашел где вставлять. И успешно вставлял что то вроде
> ap_bvputs(f, "HTTP_MYREAL_IP", ": ", "тут_должен_быть_IP", CRLF, NULL);
>
> НО... по незнанию Апача возник вопрос. Как я могу узнать в этот момент
> значение REMOTE_ADDR ? Чтобы именно значение вставить вместо строки
> "тут_должен_быть_IP"?
r->connection->remote_ip
А ещё лучше взять mod_accel вместо mod_proxy. Там X-Real-IP уже есть.
И ещё многое другое.
Игорь Сысоев
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.