【问题标题】:Using a VPN to get a static IP on Heroku使用 VPN 在 Heroku 上获取静态 IP
【发布时间】:2013-03-29 22:37:55
【问题描述】:

我需要使用我的 Heroku/Rails 应用程序连接到一个 API,我需要一个静态 IP。

我知道附加组件 proximo - https://devcenter.heroku.com/articles/proximo - 但它的价格太高了,所以这是不可能的。

在我的情况下,大多数人最终会改为部署到 EC2 并使用弹性 IP 作为他们的静态 IP。我也试过这个,它可以工作,但我发现玩 EC2 的整个流程真的很麻烦。

我在一些答案中读到,可以设置 EC2 服务器并将其用作 Heroku/Rails 应用程序的代理 - Heroku Static IP for SFTP - 但对于不是非常服务器的人来说,这听起来很神秘-精明。

有人可以提供有关如何设置 Heroku/Rails 应用程序以使用 EC2 实例作为代理的分步教程吗?

【问题讨论】:

  • 你说得对,proximo 相当昂贵,但那是因为它们承担了复杂配置的负担并为你提供了简单的实现。您要求既便宜又简单,不幸的是,这并不总是存在的。配置 EC2 实例和正确配置/保护代理所涉及的复杂性是胜任员工、承包商或顾问的工作,而不是 Stack Overflow。
  • 所以您是说设置 EC2 服务器并将其用作我的 heroku 应用程序的代理非常复杂,几乎不可能? proximo 不是很贵,而是它太贵了,无法支付。
  • 不,这不是不可能的。这不是任何人可以即兴回答的事情。这是一个项目。这是一个复杂的过程,超出了 Stack Overflow 问答的范围。
  • 好的..感谢您的明确回答。如果你把它作为答案,我会接受它并将赏金归功于你。

标签: ruby-on-rails ruby heroku proxy socks


【解决方案1】:

简而言之:我只想切换到 AWS。有一点学习曲线,但并不难。这是我针对前端开发人员进行的演示: https://speakerdeck.com/krunkosaurus/intro-to-scaling-your-web-app-on-the-cloud-with-aws-for-frontend-developers-part-1

亚马逊有 9 个区域,每个区域有 3-5 个“可用区”。我知道 Heroku 使用 AWS,但不确定您是否可以决定(或知道)您的实际服务器托管在哪个 AWS 区域和 AZ。

无论是什么,您都应该将代理服务器托管在同一个区域(更好的是,甚至是同一个可用区)。在那里设置 EC2 很容易,只需使用 Web 控制台并确保给它一个弹性 IP,这样地址就不会改变。然后将您的 DNS 从 Heroku 实例(dyno?)指向这个 EC2 实例。从那里你可以安装 Nginx 或 HAProxy。

【讨论】:

  • 感谢您的建议。我已经设法设置了一个 EC2 服务器并附加了一个弹性 IP,但是我不知道从 Heroku 指向 DNS 并使用 Nginx 和 HAProxy 的整个过程。您能否更详细地解释如何做到这一点,或者引导我向某人更详细地解释它的方向?再次感谢。
  • 不同的人管理您的 DNS。如果您在 GoDaddy 购买了域名,那么您的 DNS 管理器可能在 godaddy.com。我喜欢将所有这些都转移到 Amazon Route53。如果你 PM 我你的域名,我可以告诉你更多关于它的托管位置。这可能无法解决的一个问题是,如果您的 dyno 不断更改 ip 或 dns,那么您的静态 EC2 实例可能不再指向它。
  • K... 我在 iwantmyname.com 托管我的域。问题不在于让该域指向我的 heroku 应用程序,而是让 heroku 应用程序在查询 API 时通过我的 ec2 实例。如果你明白我的意思吗?
  • 你链接的帖子中的那个人可能比我所说的更相关:stackoverflow.com/questions/13350188/heroku-static-ip-for-sftp 你需要在你的微实例上设置一个 SOCKS 代理。要对其进行测试,您可以从本地计算机到您的 ec2:mikeash.com/ssh_socks.html
  • 看起来很复杂。在写教程之前你没有做过这件事的人吗?
【解决方案2】:

我刚刚将 QuotaGuard Static 设置为更强大、更有价值的静态 IP 服务,可供 Heroku 应用程序使用。

它托管在 EC2 上,因此您无需开始管理服务器即可获得低延迟优势。

【讨论】:

    【解决方案3】:

    您好,您可以使用这个答案来了解如何使用 NGINX 作为反向代理。

    https://stackoverflow.com/a/27874505/1345865

    http://blog.talenox.com/post/107675614745/how-to-setup-static-ip-on-heroku

    【讨论】:

      【解决方案4】:

      Fixie 是在 Heroku 上获取静态 IP 地址的非常实惠的选择。 documentation section 有很多针对不同语言和框架的示例,包括 Ruby。

      【讨论】:

        猜你喜欢
        • 2023-03-04
        • 2015-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-16
        • 1970-01-01
        • 2019-01-13
        相关资源
        最近更新 更多