Как установить заголовки http в JBoss EAP 6.1

Я хочу установить заголовки http для параметров x-frame и Strict-Transport-Security в jboss 6.1.0.

Я искал подходящий файл конфигурации для добавления этих заголовков, я вижу некоторые процедуры для jboss 6.4, jboss 7, но я ничего не получил для jboss 6.1

Настройте заголовки Http в JBoss EAP 7

Это в jboss 7, мне нужно сделать то же самое для jboss 6.1

Я много пытался определить правильные изменения конфигурации, необходимые для этого в jboss 6.1, но я беспомощен.

пожалуйста, позвольте мне знать, если кто-то знает об этом в jboss 6.1

Заранее спасибо.

2 ответа

Если вы используете Apache HTTPD в качестве прокси для JBoss, очень легко добавить все эти заголовки, используя директиву Header. В противном случае вы можете установить все эти заголовки в пользовательском фильтре и поместить в папку lib соответствующего веб-приложения.

Этот ответ присутствует в базе знаний RedHat. Поскольку это требует учетных данных RedHat, я выкладываю тот же ответ здесь.

Решение:

Фильтр сервлета можно использовать для добавления дополнительного HTTP-заголовка к ответу. Ниже приведен пример фильтра, который использует Servlet 3.0 @WebFilter, Использование аннотации не требует настройки web.xml включить фильтр.

/*
 *  This is a sample servlet filter to set "X-Frame-Options" http header to 
 *  http response. 
 */

package com.redhat.jboss.support;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebFilter;

@WebFilter("/*")
public class AddCustomHeaderFilter implements Filter {

    /**
     * Take this filter out of service.
     */
    public void destroy() {
    }

    /**
     * @param request The servlet request we are processing
     * @param result The servlet response we are creating
     * @param chain The filter chain we are processing
     *
     * @exception IOException if an input/output error occurs
     * @exception ServletException if a servlet error occurs
     */
    public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain) throws IOException, ServletException {

      ((HttpServletResponse)response).setHeader("X-Frame-Options", "SAMEORIGIN"); 
      chain.doFilter(request, response);

    }


    /**
     * Place this filter into service.
     *
     * @param filterConfig The filter configuration object
     */
    public void init(FilterConfig filterConfig) throws ServletException {
    }

}
  • После компиляции AddCustomHeaderFilter.java, один пакет будет создавать по имени com.redhat.jboss.support с участием AddCustomHeaderFilter.class,
  • Создать банку для AddCustomHeaderFilter.class используя следующую команду. Это создаст банку AddCustomHeaderFilter.jar:

    jar -cvf AddCustomHeaderFilter.jar com

  • Поместите эту банку в вашем веб-приложении WEB-INF/lib папка. Это включит фильтр сервлетов в веб-приложении.

ПРИМЕЧАНИЕ: пример, приведенный в AddCustomHeaderFilter.java класс для "SAMEORIGIN". Ниже приведены возможные значения для X-Frame-Options:

  1. DENY: страница не может отображаться во фрейме, независимо от того, какой сайт пытается это сделать.
  2. SAMEORIGIN: Страница может отображаться только в рамке того же источника, что и сама страница.
Другие вопросы по тегам