Tomcat / Spring-boot不会选择Apache代理头

时间:2016-09-28 10:44:48

标签: spring apache tomcat

所以我在tomcat上运行了一个spring-boot应用程序。现在我有一个用于提供双向SSL身份验证的apache代理。验证后,应用程序不会获取apache set证书。代理工作正常,因为其他应用程序确实选择了标题。

<Location "/app/secure">
    SSLRequireSSL
    SSLVerifyClient optional
    SSLVerifyDepth 3
    SSLOptions +ExportCertData +StdEnvVars
</Location>

RequestHeader set SSL_CLIENT_S_DN_CN "%{SSL_CLIENT_S_DN_CN}s" env=SSL_CLIENT_S_DN_CN
many header here...

ProxyPass /app http://mylocalip:8080
ProxyPassReverse /app http://mylocalip:8080

我已经设置了

server.use-forward-headers=true

我尝试按如下方式阅读标题

@RequestMapping(value="/auth", method = RequestMethod.POST)
    public String auth(HttpServletRequest request) {
        String client = null;
        String verify = request.getHeader("SSL_CLIENT_VERIFY");
        String cert = request.getHeader("SSL_CLIENT_S_DN_CN")
        return cert;
    }

在'/app/secure.html'正文加载时调用发布到'/ auth'。

修改 似乎不是tomcat的问题。切换它为码头,问题仍然存在。因此,spring-boot不会转发标头,或者我要求它们出错。

0 个答案:

没有答案