AWS Elastic Search Domain的Route53出现证书错误

时间:2018-01-08 19:27:44

标签: amazon-web-services ssl-certificate aws-elasticsearch

我在弗吉尼亚州创建了一个AWS弹性搜索域,并获得了一个端点网址。

enter image description here

现在我想围绕它配置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时,它正在工作。所以我理解这是我使用证书的方式的问题。任何帮助表示赞赏。

5 个答案:

答案 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所述进行了重定向。

步骤: