我在弗吉尼亚州创建了一个AWS弹性搜索域,并获得了一个端点网址。
现在我想围绕它配置Route53行为,以便调用者可以使用相同的URL,即使弹性搜索有一些变化或者在灾难恢复的情况下。
所以,
Virginia Route 53 - 1 Points to - Virgina Elastic Search Domain URL Oregon Route 53 - 2 Points to - Oregon Elastic Search Domain URL 主要路线53 - 3点 - 路线53 1或2
我已经创建了这些,并且还创建并上传了具有正确SAN条目的SSL证书。但是当我执行时,
curl https://mainroute53/health
curl https://virginiaroute53/health
curl https://oregonroute53/health
我收到此错误,
curl: (51) Unable to communicate securely with peer: requested domain name does not match the server's certificate.
但是当我直接调用Elastic Search URL时,它正在工作。所以我理解这是我使用证书的方式的问题。任何帮助表示赞赏。
答案 0 :(得分:4)
您的弹性搜索端点将始终返回弹性搜索SSL证书。
因此,当您创建Route 53"别名"对于它,您可能通过自定义DNS条目连接到它,但Elastic Search仍将使用弹性搜索SSL证书。
由于您使用的DNS端点与SSL证书不匹配,因此您会收到该错误。
您可以使用--insecure
curl标志让它不检查SSL证书,但是,存在这样做的风险。
答案 1 :(得分:2)
您可以使用 http 端点,而不是 https 一个
curl **http**://mainroute53/health
这可以解决以下事实:AWS不允许在其托管 弹性服务
中提供自定义域证书。答案 2 :(得分:2)
使用自定义域名访问Elasticsearch的一种方法是将API网关用作HTPP代理。但是,由于ES的Cognito cookie将指向原始域(*.es.amazonaws.com
),因此您必须处理身份验证部分。
以我的经验,这是可行的,您应该能够使用API网关(加上自定义域名和Route 53)来实现所需的功能(在ES上具有自定义域名)。只是需要一些Cognito知识,并且很可能需要一些编码(以处理Cookie问题)。
答案 3 :(得分:0)
您可能可以通过在Elasticsearch域的前面设置代理服务器来解决此问题,尽管这很愚蠢,因为在Elasticsearch域内似乎还存在一个ELB。嗯。
Amazon ES为您创建的域包括Elasticsearch集群中的节点和来自多个AWS服务的资源。 Amazon ES创建您的域时,它将实例启动到服务控制的VPC中。这些实例以Elastic Load Balancing(ELB)为首,负载均衡器的端点通过Route 53发布。对域的请求通过ELB负载均衡器传递,该负载均衡器将它们路由到域的EC2实例。
https://aws.amazon.com/blogs/database/set-access-control-for-amazon-elasticsearch-service/
答案 4 :(得分:0)
我们遇到了同样的问题,希望使用更友好的DNS名称重定向到Kibana,并且我们将解决方案与S3存储桶结合使用,并按照here所述进行了重定向。
步骤:
https
Step 5
的步骤进行操作