访问VPN上的数据库

时间:2012-11-01 15:29:29

标签: ruby-on-rails database activerecord heroku vpn

我的Rails 3.2应用程序连接到许多外部服务器,其中一个是SQL Server数据库(我使用ActiveRecord + tinytds连接到它)。

今天,数据库主机决定让他们必须在他们的VPN上访问数据库。我的联系现在失败了。

如何将我的Rails应用程序(或只是与此数据库的连接)连接到VPN,以便我可以访问此数据库?我的应用程序托管在Heroku上。

2 个答案:

答案 0 :(得分:8)

简短的回答:你做不到。你将不得不切换主机。

更长的答案:如果VPN软件可用于Linux,理论上你可以用custom buildpack将它提供给heroku,然后使用你的应用程序中的那个。然而,这是一项非常重要的工作。

编辑:j_mcnally提出了一个非常好的观点,我忘记了。 buildpack可能无法正常工作,因为即使您提供了该软件,也不太可能创建所需的tun或tap适配器以使其实际工作。

我的最终建议是在Heroku基础设施之外的某个地方托管代理,然后通过VPN反复访问数据库。也许在EC2上托管它,因为这样你至少可以将你的代理放在同一个可用区域内。

答案 1 :(得分:1)

很多用于Linux的VPN软件最终需要内核扩展等来为vpn连接等创建虚拟接口。所以这可能不起作用。