首页 Nginx Nginx反向代理通过客户端证书

Nginx反向代理通过客户端证书

我正在尝试通过Nginx反向代理设置负载均衡器.我的应用程序使用客户端证书来验证客户端.我希望我的反向代理将客户端证书转发到我的后端服务器.我已将此行添加到反向代理的配置中,以将客户端证书信息存储在自定义HTTP标头中:proxy_set_header X-SSL-CERT $ssl_

我正在尝试通过Nginx反向代理设置负载均衡器.我的应用程序使用客户端证书来验证客户端.我希望我的反向代理将客户端证书转发到我的后端服务器.我已将此行添加到反向代理的配置中,以将客户端证书信息存储在自定义HTTP标头中:

proxy_set_header X-SSL-CERT $ssl_client_cert

但是,$ssl_client_cert使用多行来存储证书,而我的后端nginx服务器无法将其正确识别为一个HTTP头.转发我的客户证书的最佳方法是什么?

这个问题已在2013年的论坛上提出,但到目前为止还没有真正的解决方案:https://forum.nginx.org/read.php?2,236546

谢谢!

最佳答案
所以我找到了解决方案.我删除了证书中的所有换行符,并将它们作为单个HTTP标头从代理发送到后端,类似于此处所述:

在我的后端,我通过每64个字符添加一个换行符来重建证书.反向代理的更新代码如下,最多可处理26行:

map $ssl_client_raw_cert $a {
   "~^(-.*-\n)(?

(请注意,我已经删除了以数字开头的变量)虽然这个解决方案并不理想,但此时它对我有用.另一种解决方案是仅发送证书的DN信息,即单行.这对我来说不起作用,因为我没有在我的数据库中存储每个DN.

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/yunying/nginx/20201019/11116.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

【免责声明】本站内容转载自互联网,其发布内容言论不代表本站观点,如果其链接、内容的侵犯您的权益,烦请提交相关链接至邮箱xwei067@foxmail.com我们将及时予以处理。

Copygight © 2016-2023 https://www.0532zz.com All Rights Reserved.青岛站长网

站长:xwei067#foxmail.com(请把#换成@)