这是我在这里的第一篇文章,所以请多多包涵!
当前设置:
-Elasticsearch 和 Kibana 托管在带有 docker 的 ubuntu 服务器上(因此,对于 Elasticsearch,Elastic API URI 类似于 xxx.xxx.xxx.xxx:9200,对于 Kibana,类似于 xxx:xxx:xxx:xxx:5601)
-C# 应用程序在我的机器上本地运行
我一生都在尝试使用 Serilog 和 Serilog.Sinks.Elasticsearch 通过我的 C# 应用程序连接到 Elastic 的 API。只有当我使用 ngrok 创建到 Elasticsearch 的代理隧道时,我才会成功。使用代理隧道(例如 https://aabbccddee11.ngrok.io)我可以毫无问题地登录到 Elasticsearch。
如果我使用 xxx.xxx.xxx.xxx:9200 URI,容器会记录以下内容:
http 客户端不信任此服务器的证书,关闭连接 Netty4HttpChannel
证书:
这是我当前在 appsettings.json (ngrok) 中的配置:
"Serilog": {
"Using": [ "Serilog.Sinks.Elasticsearch" ],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Elasticsearch",
"Args": {
"nodeUris": "https://aabbccddee11.ngrok.io",
"connectionGlobalHeaders": "Authorization=Basic xxx",
"indexFormat": "someindex-{0:MM.yyyy}",
"autoRegisterTemplate": true,
"autoRegisterTemplateVersion": "ESv7",
"typeName": ""
}
}
]
}
我知道很多人都遇到过上述错误,我在网上看了很多论坛,但我还没有找到解决问题的最终方法。
非常感谢您的帮助。
我尝试在服务器的 uri 上使用 https 添加,但没有成功。