Модуль удаленного доступа Apache не заполняет client_ip

В среде интрасети у меня есть относительно сложный сценарий, все на одном сервере:

IIS server acting as a reverse proxy listening on 443
forwards matching requests to localhost:1080/redmine

Apache reverse proxy is listening on 1080
forwards matching requests to localhost:3001 or localhost:3002 (thin servers in front of Redmine)

Thin1 and Thin2 web servers listening on 3001 and 3002 to handle requests

Проблема в том, что Apache remoteip модуль, кажется, игнорирует X-Forwarded-For заголовок. Конфигурация:

# in the httpd.conf file
LoadModule remoteip_module modules/mod_remoteip.so

# elsewhere, in a VirtualHost declaration

    # define the header to use to retrieve the remote ip address
    RemoteIPHeader X-Forwarded-For
    RemoteIPInternalProxy 127.0.0.1 10.101.24.161 ::1
    # for debugging only
    LogFormat "%a %h %{c}a *** %{x-forwarded-for}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" redmine
    #LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" redmine
    CustomLog "logs/access-redmine.log" redmine

С вышеуказанной отладкой LogFormat Я ожидал, согласно документация, %a токен, содержащий исходный IP-адрес клиента. Однако я получаю следующее:

::1 ::1 ::1 *** 10.106.33.206, 10.106.33.206:63804 - - [07/Sep/2022:16:08:24 +0200] "GET /redmine/projects HTTP/1.1" 200 10718 "https://redacted.org/redmine/my/account" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"

%a или же %{c}a (видеть здесь) должны содержать IP-адрес клиента, но на самом деле оба содержат IP-адрес обратного прокси-сервера. ::1. Фактический IP-адрес клиента виден в строке журнала как 10.106.33.206 через %{x-forwarded-for}i токен, который случайно доказывает, что заголовок HTTP успешно заполняется IIS.

Я пробовал всевозможные перестановки RemoteIPTrustedProxy, RemoteIPInternalProxyи т. д., но ни один из них не привел к успешному заполнению %a токен с исходным IP-адресом клиента.

(Очевидно, аналогичный вопрос не ответил на мою проблему.)

apache-2.4 обратный прокси-сервер ip x-forwarded-for

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *