Как настроить мой веб-сервер для работы с подключаемым модулем аутентификации домена PluggableAuthService? - PullRequest
4 голосов
/ 02 марта 2011

Я пытаюсь использовать плагин проверки подлинности домена, чтобы назначить роль членства посетителям сайта на основе их IP-адреса.

Я могу настроить плагин в порядке, но мне кажется, что все запросы будутисходящий из localhost, а не с «реального» IP-адреса.

В этом случае я использую NGINX, поэтому я попытался установить для X-Real-IP значение $ remote_addr через proxy_set_header (например, http://wiki.nginx.org/HttpProxyModule),, нонасколько я могу судить, это просто делает IP-адрес доступным в заголовке.

Как мне сделать так, чтобы запросы, отправленные из NGINX в Plone, казались исходящими с удаленного IP-адреса?

Я использую NGINX, но я открыт для ответов, относящихся и к Apache.

Ответы [ 2 ]

6 голосов
/ 02 марта 2011

Плагин проверки подлинности домена использует метод request.getClientAddr() для определения IP-адреса клиента, который, в свою очередь, использует как переменную REMOTE_ADDR, так и заголовок X-FORWARDED-FOR.

Как правило, вы не можете полагатьсяв заголовке X-FORWARDED-FOR, видя, что его может установить почти каждый.Но вы можете настроить Zope для доверия этому заголовку из заданного набора доверенных прокси.Используя список доверенных прокси, IP-адрес REMOTE_ADDR будет заменен следующим адресом, указанным в заголовке X-FORWARDED-FOR, пока у вас не закончатся адреса, которым можно доверять.Последний найденный IP-адрес - это новый адрес клиента.Это позволяет вам связывать цепочки прокси-серверов и при этом доверять вам, получая правильный клиентский адрес, на котором будут основываться ваши роли.

Чтобы настроить Zope для доверия заголовку X-FORWARDED-FOR прокси-сервера, установите trusted-proxyпараметр конфигурации в файле zope.conf.Если ваш сервер nginx работает на том же хосте, просто установите для него значение localhost:

trusted-proxy 127.0.0.1

Вы можете указать более одного имени, добавив несколько записей:

trusted-proxy 127.0.0.1
trusted-proxy loadbalancer.localnet

trusted-proxy принимает обаIP-адреса и имена хостов.

0 голосов
/ 02 марта 2011

Многие обратные прокси устанавливают заголовок X-Forwarded-For для исходного IP.Плагин доменной аутентификации должен быть обновлен, чтобы справиться с этим, если это еще не сделано.

...