Я настроил remoteip и проверил, что он действительно загружен. Также загружается remoteip.conf. Я проверил последнее, введя неверно отформатированный IP-адрес в следующей (правильной) конфигурации:
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1 10.10.0.1 10.10.0.2
Теперь, когда конечный пользователь загружается, я могу проверить, что вижу X-Forwarded-For
заголовок со значением 10.10.255.100 что правильно. Однако REMOTE_ADDR
переменная в PHP по-прежнему является IP-адресом балансировщика нагрузки.
Согласно каждому учебнику по этой теме, на этом этапе все должно просто работать.
Кажется что RemoteIPTrustedProxy
не работает, когда конечный пользователь имеет IP-адрес во "внутренней" сети (в данном случае 10.20.255.100). Я не уверен, почему разработчики apache выбрали это переплетение механизма и политики (что, конечно, так и есть). Чтобы принять IP-адреса внутренней сети, используйте:
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1 10.10.0.1 10.10.0.2