我在 Grails 服务器上运行了一个 groovy 代码。如何为 HSTS 配置它?我查看了 Groovy 规范,没有发现任何有用的东西。
这就是我想要实现的
当我查看来自服务器的任何 HTTP 响应时。我必须看到如下标题
Strict-Transport-Security: max-age=31536000
你能提出一些建议吗?
我建议实现自定义 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 上测试