1

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

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

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

4

2 回答 2

8

简短的回答:你不能。您将不得不切换主机。

更长的答案:如果 VPN 软件可用于 linux,理论上您可以使用自定义 buildpack将其提供给 heroku ,然后从您的应用程序中使用它。然而,这是一项相当艰巨的任务。

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

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

于 2012-11-01T16:07:41.840 回答
1

是的,很多用于 linux 的 VPN 软件最终都需要内核扩展等来为 vpn 连接等创建虚拟接口。所以这可能行不通。

于 2012-11-01T16:15:00.270 回答