OpenAM 中基于 Cert 的身份验证需要设置 http header X-Client-Cert。当 url 为 /openam/UI/Login?module=PKI 时,我想使用 apache 作为反向代理并设置此标头。
/openam/UI/Login 用于用户名和密码验证。
我有这个配置:
...
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
RequestHeader set X-Client-Cert ""
<Location "/openam/UI/Login/PKI">
RequestHeader set X-Client-Cert "%{SSL_CLIENT_CERT}s"
SSLVerifyDepth 10
SSLVerifyClient require
</Location>
RewriteRule /openam/UI/Login/PKI balancer://mycluster/openam/UI/Login?module=PKI [P]
...
它可以解决问题,但代价是将 /openam/UI/Login?module=PKI 重写为 /openam/UI/Login/PKI ,我不喜欢它。
你能建议我如何在不重写的情况下做到这一点吗?
谢谢。