我正在尝试确定使用你自己的最佳、现代做法分离Web 应用的数据库服务器。我有一个应用服务器appserver1
(运行 php、nginx 等,但这些并不重要),还有一个数据库服务器dbserver1
(运行 postgresql,但这些可能并不重要)。
我想使用命令行psql
命令和应用程序数据库连接从appserver1
连接到上的数据库dbserver1
。两者都在 rackspace 的同一内部网络上,因此连接速度很快。但是,如果标准协议不允许,我不想信任该连接,因此如果需要进一步保护该连接,我如何才能最好地保护该连接?
保护连接
我听说过 ssh 隧道,尽管我以前没有用过。总的来说,它看起来相当简单。我是否应该从appserver1
该点设置 ssh 隧道dbserver1
,然后我就可以像在本地主机一样进行连接?否则我应该采用什么方法?
编辑:我是否可以将服务器设置为仅监听本地主机和 Web 服务器的 IP,或者从长远来看这不是一个可维护的解决方案?
答案1
两者均在 rackspace 的同一个内部网络上,因此连接速度很快。
我没有使用过 Rackspace,但我想确认一下“内部网络”是否是专门为你的机器之间的本地通信而设置的并且没有其他人。如果这是一个内部网络,任何客户都可能访问它(并且很可能访问它),那么您可能应该考虑配置 iptables 以仅允许来自受信任 IP 的连接或在设备之间使用某种类型的 VPN 解决方案,并使用防火墙将您的服务与所有其他外部连接隔离开来,即使它们来自 Rackspace 网络。
编辑:如果您愿意设置 iptables 以仅允许来自您信任的 IP 地址(例如,您的其他服务器)的连接,同时拒绝其他所有人,那么您可能可以使用 Rackspace 内部网络。它可能比 VPN 解决方案更优雅,但如果您不习惯管理防火墙规则,配置起来可能会更棘手。