1

我在单个AWS EC2实例的多个端口上运行多个服务。我一直在使用两个ALBs来运行这些服务,但我想将它们组合成一个 ALB,根据主机名转发到正确的服务。一个服务是运行端口 80 的节点应用程序,另一个是运行端口 5001 的烧瓶应用程序。

到目前为止,我已经为mywebsite端口 80 上的节点应用程序和api-service端口 5001 上的烧瓶应用程序设置了目标组。

我将这些目标组添加到 ALB,my-alb并设置转发规则,以便端口 80 和 5001 将转发到端口 443。在端口 443 上,我设置转发规则,以便如果主机匹配api.*,它将转发到目标组api-service,否则它将默认为my-website.

我还将我的 alb 设置为 53 号路线的别名,api.mywebsite.comwww.mywebsite.com设置了证书。我的两个目标群体的所有健康检查都通过了。

这是问题所在: www.mywebsite.com工作正常。我被转发到该https网站的版本,一切看起来都很好。当我尝试使用api.mywebsite.com它时,它不会加载并且我收到 504 Bad Gateway 错误。

总而言之,以下是我已完成的步骤:

  1. 为我的服务设置两个目标组port 80 and 5001
  2. 将这两个目标组添加到ALB并设置路由规则以重定向到port 443
  3. port 5001如果主机匹配api.*其他路由到端口 80 上的服务,则为路由 443 设置转发规则以转发到服务。
  4. 将 ALB 设置为api.mywebsite.comwww.mywebsite.comin的别名route 53

任何帮助将不胜感激,谢谢!

编辑:让它工作。

我错误地配置了我的安全组。那是我缺少的步骤:D。一旦我将端口 5001 添加到分配给我的 ALB 和 EC2 的安全组,它就开始正常工作。

谢谢!

4

0 回答 0