我有一个客户端,我需要定期连接其 Postgres 数据库。该数据库当前托管在他们的服务器上,我们称之为 psql.example.com,标准端口为 5432。他们对其进行了配置,以便我可以从我的“主”服务器连接到它,假设它位于 IP 123.45.67.89 上,使用my_username
和my_password
作为凭据。
问题是,需要连接的不是我的主服务器,而是我的负载平衡 AWS 节点。似乎我应该能够在我的主服务器上运行一些东西ssh -L
or iptables
,它将监听来自我的负载平衡节点的传入连接(在不同的端口上,比如 42042,以避免以后的潜在冲突)(很容易确保使用标准 AWS 功能结束事物),并透明地将其转发到他们的数据库,并将任何响应传回。
我已经尝试过类似的东西ssh -L 42042:psql.example.com:5432 [email protected]
,但这不起作用;如果我调试,我发现它正在尝试连接到端口 22,而不是 5432。似乎我不应该是唯一一个想要做这样的事情的人,但我发现的大部分内容都是关于使用 SSH 来保护连接到数据库服务器。在我的主服务器上似乎不需要任何[email protected]
位,这应该更多地用于保护从我的终端节点到我的服务器的连接?与他们的服务器的连接的安全性将通过他们现有的 IP 限制和 PSQL 凭据来完成。
他们正在运行相当旧版本的 Postgres 8.1,我认为这对于纯端口转发解决方案不会有任何影响,如果存在的话,但可能会限制其他选项。