#spring-boot #http #request #header #x-forwarded-for
#весенняя загрузка #http #запрос #заголовок #x-forwarded-for
Вопрос:
Мне нужно получить заголовок x-forwarded-for из запросов. Поскольку у меня уже есть http-фильтр, я могу легко регистрировать удаленный адрес с помощью HttpServletRequest.getRemoteAddr()
, тогда как для регистрации x-forwarded-for потребуется дополнительная настройка. Мой вопрос в том, будет ли HttpServletRequest.getRemoteAddr()
возвращать тот же адрес, что и x-forwarded-for, совпадают ли x-forwarded-for и удаленный адрес?
Ответ №1:
Нет, HttpServletRequest.getRemoteAddr()
вернет адрес последнего прокси или балансировщика нагрузки, через который был отправлен запрос. X-Forwarded-For вернет исходный адрес, с которого был впервые отправлен запрос, за которым следует адрес прокси или балансировщика нагрузки.
Комментарии:
1. Вы также могли бы использовать что-то вроде Tomcat
RemoteIpValve
( tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/valves / … ), который делает это для вас (т. Е. ВозвращаетX-Forwarded-For
значение заголовка изrequest.getRemoteAddr()