2

我在 Grails 服务器上运行了一个 groovy 代码。如何为 HSTS 配置它?我查看了 Groovy 规范,没有发现任何有用的东西。

这就是我想要实现的

当我查看来自服务器的任何 HTTP 响应时。我必须看到如下标题

Strict-Transport-Security: max-age=31536000

你能提出一些建议吗?

4

1 回答 1

2

我建议实现自定义 servlet 过滤器,如下所示:

@Priority(Integer.MIN_VALUE)
public class HstsFilter extends OncePerRequestFilter {

    public HstsFilter() {
    }

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        filterChain.doFilter(request, response);
        response.addHeader("Strict-Transport-Security", "max-age=31536000");
    }
}

那么您需要在以下位置注册它resources.groovy

beans = {
    hstsFilter(HstsFilter)
}

此代码已在 Grails 3.1.4 上测试

于 2016-04-22T13:24:10.120 回答