Назад | Перейти на главную страницу

Mediawiki за обратным прокси-сервером заполняет IP-адрес пользователя адресом прокси

У меня есть apache, работающий на машине fw, которая выполняет обратные прокси-серверы разных папок на разные внутренние серверы, а также обертывает соединение в SSL. ... довольно распространенная установка.

Как и следовало ожидать, серверный экземпляр mediawiki считает, что весь доступ идет с 1 IP-адреса обратного прокси. Поскольку теряется значительная часть функциональности mediawiki, возможно ли передать правильный IP-адрес для использования mediawiki для управления пользователями и ведения журнала, то есть для подтверждения IP? Заголовки HTTP имели бы смысл.

Вы можете попробовать следующий модуль для apache

# yum info mod_extract_forwarded
Name        : mod_extract_forwarded
Arch        : x86_64
Version     : 2.0.2
Release     : 8.el6
Size        : 15 k
Repo        : epel
Summary     : Extract real source IP for forwarded HTTP requests
URL         : http://www.openinfo.co.uk/apache/
License     : ASL 1.1
Description : mod_extract_forwarded hooks itself into Apache's header parsing phase and looks
            : for the X-Forwarded-For header which some (most?) proxies add to the proxied
            : HTTP requests. It extracts the IP from the X-Forwarded-For and modifies the
            : connection data so to the rest of Apache the request looks like it came from
            : that IP rather than the proxy IP.

Абсолютно.

Если вы используете mod_proxy_http, Apache, скорее всего, уже отправляет реальный IP-адрес в заголовках X-Forwarded-For.

Похоже, MediaWiki поддерживает это из коробки, включив переменную в вашей конфигурации:

$wgUsePrivateIPs = true;
$wgSquidServers = array( 'proxy fqdn', 'proxy ip address' );

Больше информации: https://www.mediawiki.org/wiki/Manual:$wgUsePrivateIPs

Включение этого параметра скажет MediaWiki читать IP-адрес клиента из заголовков X-Forwarded-For.