Плагин проверки подлинности домена использует метод 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-адреса и имена хостов.