ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
String isRecord = request.getHeader("LOGCLOUD_IS_RECORD");
前端请求中,确认请求头中已经携带了LOGCLOUD_IS_RECORD参数了,后端始终获取不到。
请求通过了nginx代理。后来排查nginx默认或忽略请求头中key携带"_"的值。
解决:
nginx的server中增加配置:
underscores_in_headers on; #该属性默认为off,表示如果header name中包含下划线,则忽略掉。
建议:规范请求头参数key命名,“-”代替“_”。