【发布时间】:2018-04-30 14:26:17
【问题描述】:
我正在努力解决一些可能很容易做到的事情,但我还没有找到正确的解决方案,所以我希望你能帮助我。
背景
我们正在开发一个包含 4 个不同 Java Web 项目的应用程序。
- AppA
- AppB
- AppC
- 网络服务
所有这些应用程序都必须从 mydomain.com 的 4 个不同子域访问:
- a.mydomain.com
- b.mydomain.com
- c.mydomain.com
- api.mydomain.com
技术
应用服务器:Payara server 4(与 Glassfish 4 几乎相同)。
Payara 服务器在 Docker 容器中运行,而后者又在 Amazon EC2 实例中运行。
我在以下场景中使用过 Amazon Route 53:
我已经成功完成的事情
这是为另一个项目完成的,其中只有一个从 otherdomainiown.com 的子域访问的应用程序。
这非常有效,因为域提供商 (iPage) 的 DNS 记录只指向我配置的托管区域的 Amazon Route 53 记录。此托管区域有一条 A 记录,指向我的 Amazon EC2 实例的固定 IP。然后,Docker 通过端口 80(mapped)将 Payara 服务器公开到端口 8080,Payara 默认使用该端口为其应用程序提供服务。
问题
现在,我面临着类似的情况。不同之处在于我有 4 个不同的应用程序需要由 4 个不同的子域访问。
我尝试过使用虚拟服务器(虚拟主机)但没有成功,我对此并不熟悉,但我认为这可能是一个可能的解决方案。
我考虑过使用 Amazon S3 存储桶进行重定向,但我认为这不是我需要的。
在一张图片中,这应该是最后的场景,虽然为了简单起见,我只画了 2 个子域:
- 我应该使用 Docker 映射来解决这个问题吗?
- 我应该使用虚拟服务器吗?
- 我应该购买 4 台不同的机器吗? (这将在几秒钟内解决所有这些问题,但购买更多实例不是一种选择)
- 我应该为每个应用程序使用一个 Docker 容器吗?
如您所见,我有点迷茫,所以如果您能指出我正确的方向,那就太好了。
提前致谢。
【问题讨论】:
标签: java amazon-web-services docker glassfish payara