Как предотвратить замену Request-IP при использовании RemoteIpValve в Tomcat? - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу использовать RemoteIpValve в tomcat8 веб-сервере.

Проблема: в результате request.remoteAddr (который раньше был 127.0.0.1) обновляется внешним вызовомф.И, таким образом, RemoteAddrValve отклоняет его, как если бы он имел внешний прямой доступ.

Вопрос: как я все еще могу перенаправить «реальный» внешний IP-адрес на tomcat, оставив tomcat принимать только локальные запросы, нотакже используйте RemoteIpValve?

Tomcat настроен на разрешение только локального доступа через apache2 proxy впереди:

context.xml:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>

AsЯ все еще хочу прочитать реальный запрос, например, если это был запрос http или https и т. Д., Я пересылаю эти поля в apache2 и включил оценку в tomcat в server.xml с помощью:

<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" /> 

В результате все, кроме запросов localhost, будет отклонено с 403 forbidden.Это связано с тем, что tomcat заменяет реальный IP-адрес вызывающего абонента, а RemoteAddrValve отклоняет его, конечно же.Как я могу предотвратить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...