即使Fabric不支持它,生产Web服务器是否应该在Django应用程序中使用SSH网关主机?

我公司在多台服务器上pipe理相当大量的生产服务器。 按照惯例,我们的生产服务器只允许从less数网关主机进行SSH访问。 这些Web服务器中的大多数都运行使用基于rsync的部署脚本在一个主网关主机上运行的PHP项目。

也就是说,我们正在使用Django构build一些大型应用程序,并希望使用Fabric来pipe理部署。 Fabric 还不支持SSH隧道,但似乎在其路线图中 。

我的select似乎是:

  1. 摒弃我们的网关 – 主机规则,倾向于遵循Django部署的最佳实践。
  2. 把我自己的Django部署脚本放在bash中,安装在我们的网关主机上,并从Fabric本地触发。

也许我在这里问了一个错误的问题,Fabric并不是正确的select,但感觉真的很自然,我想尽可能地使用它。

Fabric不需要支持SSH隧道; 它只是涉及到一些SSHconfiguration( ProxyCommand ftw),你ProxyCommand在了。 当然,无论如何,SSH堡垒主机是一个相当数量的主意, 对于那些害怕IP路由的人来说,它们就像是一个VPN。