0

我有 AWS ELB DNS 名称(Testing-QA-7849049.ap-south-1.elb.amazonaws.com)

它具有基于路径配置的路由

例如:Testing-QA-7849049.ap-south-1.elb.amazonaws.com/qa/index.html ---> 将指向 qa 服务器 Testing-QA-7849049.ap-south-1.elb.amazonaws。 com/qa1/index.html --> 将指向 qa1 服务器

现在我希望我的客户域成为这个名称的别名。

例如:

测试-QA-7849049.ap-south-1.elb.amazonaws.com/qa/index.html ---> mydomain/index.html

我怎样才能做到这一点。Go daddy 不允许 / 指向字段。

4

2 回答 2

1

您不能使用 dns 记录进行路径级别映射,例如“/index.html”。

方法 1 - 为每个环境使用子域

您可以改为创建 cnames 以指向负载均衡器的 dns 名称。

创建一个名为的 cnameqa1.mydomain.com并将其指向Testing-QA-7849049.ap-south-1.elb.amazonaws.com. 然后就可以通过https://qa1.mydomain.com/qa1/index.html访问 index.html

您可以类似地设置一个qa.mydomain.com

方法 2 - 在应用程序负载均衡器中使用基于路径的路由

在此方法中,您创建一个负载均衡器来管理两种环境,例如qaqa1

然后创建两个目标,每个环境一个。

之后,您可以routing在负载均衡器中配置以将任何以开头的 url 转发qa/*到目标组。

同样,将路径匹配转发qa1/*到第二个目标组。

参考: https ://docs.aws.amazon.com/elasticloadbalancing/latest/application/tutorial-load-balancer-routing.html

于 2019-12-26T22:41:35.953 回答
1

您无法使用 DNS 名称来实现此目的,而只能使用此资源的 IP。为此,您需要通过 AWS Direct Connect 或 VPN 连接将第 3 方资源链接到 AWS。
Application Load Balancer仅支持实例、IP 或 Lambda 作为目标类型。您将在此处使用已连接的第 3 方资源的 IP。

这很复杂,但这表明您的方法不能解决您遇到的问题。

现在我希望我的客户域成为这个名称的别名。

您需要在通信方案上的负载均衡器之前进行 DNS 解析。例如,您应该使用“mydomain/index.html ---”而不是“Testing-QA-7849049.ap-south-1.elb.amazonaws.com/qa/index.html ---> mydomain/index.html” > 将在您的术语中指向 qa 服务器” 。

于 2019-12-26T21:51:27.997 回答