在 Nginx 代理中注入 SSL 客户端证书

在 Nginx 代理中注入 SSL 客户端证书

我有 2 个 Nginx 实例,一个在 80 上监听,另一个proxy_pass https://second_nginx;

第二个实例配置为使用自签名证书监听 443,但也让 SSL 客户端进行验证。

我想在它们之间创建一个可信连接,并将客户端证书/密钥“注入”到该代理密码中,以便任何进入第一个实例的内容都不知道它。

这可能吗?我需要自定义模块吗?

编辑:我发现 stunnel 可能是在中间添加该层的合适解决方案,这是一个好的解决方案吗?

答案1

我发现 stunnel 可能是在中间添加该层的合适解决方案,这是一个好的解决方案吗?

我不知道 nginx 是否有这个功能(即在代理请求到上游时提供客户端证书)。

在这种情况下,stunnel 解决方案有效。您可以为每个服务提供证书。在stunnel.conf

[upstream]
accept = localhost:4343
connect = upsteam.host:443

client = yes
cert = /path/to/public.cert
key = /path/to/private.key

对于 nginx 上游配置

proxy_pass        http://localhost:4343;

相关内容