![是否可以使用 nginx 流来过滤 SSH 连接?](https://linux22.com/image/744484/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20nginx%20%E6%B5%81%E6%9D%A5%E8%BF%87%E6%BB%A4%20SSH%20%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我正在尝试设置一个 nginx 出口代理,以便所有到特定主机组 (*.example.com) 的 SSH 连接都通过代理。我有一个本地 DNS 服务器,我在那里将这些主机解析为代理 IP 地址。我查看了 nginx 流文档,但它看起来更多是为了负载平衡,这是不同的。我试图做的只是将 SSH 连接传递给与原始主机名匹配的上游主机。例如:
远程控制[电子邮件保护]---> 出口代理接收请求并验证其是否列入白名单 ---> 将连接传递给公共上游主机。
答案1
nginx 无法做到这一点。与 http 协议不同,ssh 协议不会在内部传输“客户端指定了什么主机名”。服务器只知道客户端想要的裸 IP 地址。
您的业务案例可能最好通过以下方式解决传送。