Можно ли восстановить Referrer в функции doFilter фильтра в tomcat? - PullRequest
1 голос
/ 19 апреля 2011

У меня есть фильтр для отображения заголовков запросов http:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest) request;

        Enumeration headers = req.getHeaderNames();
        for (; headers.hasMoreElements(); ) {

            String name = (String) headers.nextElement();
            String value = req.getHeader(name);
            LOGGER.info("- " + name + " = " + value);
        }

        chain.doFilter(request, response);
    }

С помощью firebug я вижу следующие заголовки запросов:

Host    mydomain.com
User-Agent  Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20100101 Firefox/4.0
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip, deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Connection  keep-alive
Referer http://mydomain.com/test/index.html

Но фильтр показывает только это:

16:39:49,064  INFO RefererFilter:42 - - user-agent = Java/1.5.0_22
16:39:49,064  INFO RefererFilter:42 - - host = mydomain.com
16:39:49,064  INFO RefererFilter:42 - - accept = text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
16:39:49,064  INFO RefererFilter:42 - - connection = keep-alive
16:39:49,064  INFO RefererFilter:42 - - content-length = 0

Мне нужно посмотреть заголовок реферера, но я не знаю, почему фильтр не отображается.«Я делаю что-то не так?

1 Ответ

0 голосов
/ 19 апреля 2011

Это может произойти, если Tomcat находится за прокси-сервером, который поглощает этот заголовок. Эта проблема не разрешима со стороны Java / Tomcat. Вы должны решить это на стороне прокси.

Кстати, user-agent = Java/1.5.0_22 подозрительно. Это доменный прокси / клиент, который использует java.net.URLConnection или что-то еще?

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