我使用Elasticsearch Azure Marketplace模板在 Azure 中部署了一个 ElasticSearch 集群。
我使用 SSL/TLS 对其进行了配置,以便通过应用程序网关通过 HTTP 层与 Elasticsearch 通信,一切正常,我可以登录 Kibana 并查看集群节点的状态。
问题是我无法从客户端通过 Azure 应用程序网关使用 NEST.NET 连接到 ElasticSearch,它需要我在提交模板时提供的证书和密码,但是当我设置它时,我得到“无法从传输中读取数据连接”和“无法建立 SSL 连接,请参阅内部异常。” 当我发送请求时。
这是我从客户端连接到 ElasticSearch 的代码:
public IElasticClient Client { get; }
public ElasticService(IConfiguration configuration)
{
var settings = new ConnectionSettings(new Uri(configuration["Elastic:Endpoint"]))
.DefaultIndex("impression");
settings.ClientCertificate(new X509Certificate2(@"C:\git\server.p12", "PASSWORD", X509KeyStorageFlags.Exportable));
Client = new ElasticClient(settings);
}