代码之家  ›  专栏  ›  技术社区  ›  Shardj

在单独的服务器上托管特定的站点路径

  •  0
  • Shardj  · 技术社区  · 6 年前

    要解决的问题的最小示例 :

    我有examplesite.com,目前托管在一个带有apache2.4的ec2实例上

    examplesite.com上的路径/支持是一个wordpress站点,供非开发团队管理和与客户交互。出于安全原因,我想在一个单独的服务器上托管/支持应用程序的其余部分,作为需要进行的许多更改的一部分。

    登录必须在主站点和/support之间保持,因为用户必须登录才能访问/support,否则将重定向回examplesite.com/Login。这意味着必须共享cookie,会话与会话生存期、上次修改日期和其他数据一起存储在数据库中。

    到目前为止我做了什么

    • 启动并为支持站点设置一个ec2实例,其中包含所有需要的ssl证书以及弹性ip和域。代码库对于支持和主站点都是相同的。
    • 主实例和新实例都共享一个域,一个具有子域“app”,另一个具有子域“support”
    • 尝试设置正向和反向代理(从测试环境而不是prod)以使用新的ec2实例来支持/support。但是我一直在 pass request body failed to {ip}

    aws负载平衡是一个潜在的解决方案吗?我还有什么其他的解决方案?有人知道我以前尝试过的死路一条有什么解决办法吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Shardj    6 年前

    最后,我在aws上建立了一个应用程序负载均衡器,解决了这个问题。我有两个负载平衡目标组,一个只包含主站点,另一个只包含支持服务器。创建这些并设置目标/ssl证书等之后,我选择了创建的负载平衡器,转到侦听器,然后使用提供的aws工具编辑它们,将任何路径匹配/support*转发到支持服务器,其余的默认情况下转发到webapp。我对80号和443号端口都这么做了。剩下的就是通过域从主应用服务器交换到负载均衡器ip。