【问题标题】:Multiple Heroku apps on the same domain同一域上的多个 Heroku 应用程序
【发布时间】:2022-01-22 02:02:14
【问题描述】:

我有一个托管在 Heroku 上的 Ruby on Rails 应用程序,其中一个路径必须连接到另一个专门用于博客的 Heroku 应用程序。

目的是利用主网站的路径到达博客,保持原有域名,避免使用不同的子域名,这是SEO要求的必然。

这里的想法:

这两个网站都使用 Ruby on Rails 开发并托管在 Heroku 上。路径结构应该是完整的,以便 Google 友好。

我发现了一些可能的重复项,但它们非常陈旧,并且与已弃用的插件和目前无法正常工作的 gem 相关:

  1. How to run two different apps on the same domain using heroku

    第一条评论链接到 this article 基于目前已过时的 Docker 工具箱,还链接到 routepath.app(断开的链接)

  2. Multiple Heroku apps on a single domain

    这表明使用 gem “rack-reverse-proxy”。文档明确表示这不适用于生产系统,并且似乎不再维护。此副本还链接到 this article,但链接已损坏。

【问题讨论】:

  • 最好询问您在实现现有副本时遇到的特定问题,或者至少将它们与评论链接 - 反向代理仍然是做这种事情的一种方法,拥有一个应用程序将流量发送给其他两个相关的应用程序。
  • 谢谢你,你是对的。我在帖子中添加了我发现的潜在重复项。我有一个真正的具体问题,因为我想找到继续进行的最佳想法。似乎反向代理在 heroku 上的记录很差,我认为只有这方面的主要指南对我和其他用户有用。

标签: ruby-on-rails heroku


【解决方案1】:

可能的解决方案:

  1. 将第二个应用程序转换为rails engine
  2. Reverse proxy to the 2nd application
  3. 将第一个应用程序配置为具有第二个数据库,将来自第二个应用程序的数据库用作只读Rails Multiple Databases我会选择此选项

最后一个选项允许您将第二个应用程序保持原样以进行编辑以及它已经执行的任何操作。您可以将生产查看重定向到第一个应用程序。

【讨论】:

  • 谢谢 Blair,我从没想过为此使用引擎。我现在正在尝试了解如何将引擎用作应用程序,我真的对 Rails 引擎很陌生。目前我必须创建一个新应用程序,这将成为一个完整且非常复杂的博客网站。如何将应用程序转换为引擎?此外,引擎是否具有完整 rails 7 应用程序的所有功能?我需要 webpack、前端、与 active_admin 的完全兼容性、设计和典型的全套 rails 现代 gems
  • 嗨@RobertoBobBowldee 那是最难的选择。如果它们都在 heroku 上,为什么不使用选项 3?
  • 是的,我正在努力寻找时间来测试最后一个选项。我使用了 gem rails-reverse-proxy,我看到它工作但在到达网址 www.site.com/blog 后我丢失了完整的网址(它立即变为 blog.site.com)。不幸的是,根据我最初的问题,我没有找到让 gem 工作的方法。最后的机会是在第一个应用程序中创建一系列 API 来从第二个应用程序获取数据,这比较耗时,但仍然可行。非常感谢,我告诉你!
  • 是的,没有“简单”的方法可以完成您想做的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2011-01-08
  • 2017-10-13
  • 1970-01-01
  • 2014-04-19
  • 2014-03-05
相关资源
最近更新 更多