我正在尝试确定将您自己的独立数据库服务器用于 Web 应用程序的最佳现代实践。我有一个应用服务器,,appserver1
(运行 php、nginx 等,没那么重要)和一个数据库服务器;dbserver1
(运行 postgresql,这可能无关紧要)。
我想使用命令行psql
命令和应用程序数据库连接从appserver1
该连接到数据库dbserver1
。两者都在机架空间的同一内部网络上,因此连接速度很快。但是,如果它不是标准协议,我不想信任该连接,因此如果有必要进一步保护该连接,我怎样才能最好地保护该连接?
保护连接
我听说过 ssh 隧道,虽然我以前没用过。总的来说,看起来很简单。appserver1
我应该从那个点建立一个 ssh 隧道dbserver1
,然后我就可以像所有本地主机一样连接吗?否则我的方法应该是什么?
编辑:我可以将服务器设置为只收听 localhost 和 Web 服务器的 ip,还是长期而言这不是一个可维护的解决方案?
我对 Rackspace 没有任何经验,但我会确认“内部网络”是否是专门为您的盒子与其他人之间的本地通信而设置的。如果它是他们的任何客户都可能在(并且可能是)的内部网络,您可能应该考虑将 iptables 配置为仅允许来自受信任 IP 的连接或盒子之间的某种类型的 VPN 解决方案,并将您的服务与所有其他外部连接,即使它们来自 Rackspace 网络。
编辑:如果您愿意将 iptables 设置为只允许来自您信任的 IP 地址(例如,您的其他服务器)的连接而拒绝其他所有人,那么您可能可以使用 Rackspace 内部网络。它可能比 VPN 解决方案更优雅,但如果您不习惯管理防火墙规则,配置起来可能会更棘手。