ssl - 如何通过两个服务器 nginx 传递客户端证书?

标签 ssl nginx proxy reverse-proxy client-certificates

我有一些理由在应用程序服务器之前使用两个 nginx 服务器。 两个 nginx 服务器都使用 SSL 连接。 Nginx1(SSL 443 和 ssl_verify_client 开启)-> Nginx2 (SSL 443) -> App (9000)

在第一台 Nginx1 服务器上,我使用了选项:proxy_set_header client_cert $ssl_client_cert; 在第二台服务器 Nginx2 上,我使用选项:underscores_in_headers on;

问题是第二个 Nginx2 服务器只发送了证书的第一行 - “----- BEGIN CERTIFICATE -----”。

如何将客户端证书传递给应用服务器?

最佳答案

Nginx 毫无异常(exception)地终止 SSL,所以如果您仍然需要此配置 - 您将需要再次进行 SSL 配置并在服务器上保留证书(这里是 relevant SO answer )或基于 Nginx support discussion在 TCP 模式下使用 HAProxy。这是 sample configuration文章。

关于ssl - 如何通过两个服务器 nginx 传递客户端证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32403458/

相关文章:

java - 使用安全的 SSL 连接保存 session

Java邮件 : TLS on port 25 with separate truststore possible?

Nginx 位于 AWS 弹性负载均衡器之前?

elasticsearch - 在 elasticsearch 中使用首选项 _local

ios - Docker设置-无法运行世界

java - 如何拥有一个带有2个接口(interface)的Spring动态代理?

docker - haproxy SSL 终止后的 Browsersync,无法正常工作

ssl - 运行 php 脚本时出现 Unresolved 警告消息 : file_get_contents(): Unable to find the wrapper "https"

linux - 无法修补 nginx 源(找不到要修补的文件)

nginx 允许|拒绝 $realip_remote_addr