我正在尝试将 x509 客户端证书(我的浏览器上安装了测试证书)从 Apache Web 服务器 (SSL) 传递到 Tomcat 应用程序。我现在配置它的方式,应用程序的弹簧安全没有找到(因此没有转发)证书。
DEBUG: [http-8080-1] org.springframework.security.web.authentication.preauth.x509.X509AuthenticationFilter - No client certificate found in request.
Apache服务器ssl.conf
文件是这样配置的(我省略了不相关的部分):
LoadModule ssl_module modules/mod_ssl.so
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
NameVirtualHost *:443
<VirtualHost *:443>
...
SSLVerifyClient require
SSLVerifyDepth 2
...
# initialize the SSL headers to a blank value to avoid http header forgeries
RequestHeader set SSL_CLIENT_CERT ""
RequestHeader set SSL_CLIENT_VERIFY ""
# add whatever SSL_* variables needed to pass to web application
RequestHeader set SSL_CLIENT_CERT "%{SSL_CLIENT_CERT}s"
RequestHeader set SSL_CLIENT_VERIFY "%{SSL_CLIENT_VERIFY}s"
RequestHeader add X-Forwarded-Scheme https
ProxyPass /testcert http://127.0.0.1:8080/testcert
ProxyPassReverse /testcert http://127.0.0.1:8080/testcert
</VirtualHost>
有什么方法可以在 Apache 中配置它,将整个证书转发到 Tomcat 服务器?我知道我可以使用ajp
,但试图在没有这种方法的情况下完成它。