使用上游服务器在 Nginx 上设置双向 SSL

使用上游服务器在 Nginx 上设置双向 SSL

我有两个独立的系统通过双向 SSL 相互交互。

系统 A <--- 双向 ssl---> 第三方系统

我有一个用例,其中请求需要通过 Nginx 转发到第三方系统。如何避免在 Nginx 进行 SSL 握手并将其代理到原始系统或在 Nginx 和上游(第三方系统)之间进行握手。

系统 A <------>NGIXN<---2 WAY SSL--> 第三方系统

或者

系统 A <-----2 路 SSL--- (代理)NGIXN ---2 路 SSL--> 第三方系统

答案1

Nginx 有一个模块可以任意 TCP/UDP 代理。

你的 nginx 二进制文件必须使用选项进行编译--with-stream

https://nginx.org/en/docs/stream/ngx_stream_core_module.html

https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html

答案2

在系统A和第三方系统的SSL机制不变的情况下,我认为你的系统中Nginx仅仅起到了代理的作用。

我建议只使用 Linux 内置的 IP 转发机制。启用中间机器的 IP 转发;在其防火墙上添加 IP 转发规则,并在需要时伪装源 IP。

中间机具有第三方允许的 IP。然后您告诉系统 A 在特定端口 7777 上连接到中间机。然后中间机使用伪装将本地端口 7777 转发到第三方 ip:port。第三方将看到您的中间机连接到它。

相关内容