2

对于一个网站,我使用的是需要客户端 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 项目中?

4

0 回答 0