对于一个网站,我使用的是需要客户端 ssl 证书的 nginx 配置。我希望我的 Symfony/php 项目能够验证是否正在使用客户端 ssl 证书(并从证书中提供一些额外信息)。所以我正在考虑通过将它添加到请求 http 标头来做到这一点。
在我的 nginx 站点配置中,我设置了:
ssl_client_certificate /home/user/ssl/ca.crt;
ssl_verify_client on;
这有效,客户端证书是强制性的。
但我希望我的底层 Symfony/php 项目能够验证是否正在使用客户端证书。我正在考虑将它添加到 http 请求标头,但我似乎只能像这样(在同一个 nginx 站点配置中)将它添加到 http 响应标头(返回浏览器):
location / {
try_files $uri /app.php$is_args$args;
add_header X-ssl-client-verify $ssl_client_verify;
}
在 Firefox 中,我确实可以看到这个响应标头,但这不是我想要的(并且可能是安全隐患)。我也调查过这个:
proxy_set_header X-ssl-client-verify $ssl_client_verify;
但这不起作用,因为我没有使用代理。
是否有其他方法可以将元素添加到请求标头?或者是否有另一种方法可以将客户端 ssl 证书信息获取到我的 Symfony / php 项目中?