Opensearch ping 弹性服务器时出错:x509 证书由未知机构签名
欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《Opensearch ping 弹性服务器时出错:x509 证书由未知机构签名》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!
我正在尝试使用 go 语言构建一个 opensearch 客户端。但是,我在 ping opensearch 服务器时遇到错误。错误信息如下:
{"level":"error","time":"2023-04-28T02:29:00+03:00","message":"Failed to build ES client: error pinging elastic server: Get \"https://192.168.8.136:9200/\": x509: certificate signed by unknown authority"}
{"level":"error","time":"2023-04-28T02:29:00+03:00","message":"Failed to initialize service ===>: error possible due to certificate issue"}
据我所知,此错误与 ssl/tls 证书有关,该证书不受客户端信任。谁能建议一个可能的解决方案来解决这个问题?我已经尝试过禁用证书验证,但没有帮助。预先感谢您的帮助。
感谢 chatgpt 为我写了这个问题。
正确答案
我希望此配置允许我使用不受信任的证书
plugins.securtiy.allow_unsafe_democertificates=true
此配置意味着您允许服务器使用演示证书。它不会改变演示证书不受客户端信任的事实。如果您想让它正常工作,您可以将客户端配置为忽略证书错误:
package main
import (
"crypto/tls"
"fmt"
"net/http"
"net/http/httputil"
)
func main() {
req, err := http.newrequest("get", "https://localhost:9200", nil)
if err != nil {
panic(err)
}
req.setbasicauth("admin", "admin")
client := &http.client{
transport: &http.transport{
tlsclientconfig: &tls.config{
insecureskipverify: true,
},
},
}
res, err := client.do(req)
if err != nil {
panic(err)
}
defer res.body.close()
buf, err := httputil.dumpresponse(res, true)
if err != nil {
panic(err)
}
fmt.printf("%s\n", buf)
}
insecureskipverify: true
使客户端忽略证书错误。 opensearch-go 包接受相同的配置,例如这个:
cfg := opensearch.config{
/// ...
transport: &http.transport{
tlsclientconfig: &tls.config{
insecureskipverify: true,
},
},
}
另一个选项是修改 opensearch.yml
以在服务器上禁用 https:
plugins.security.ssl.http.enabled: false
注意:投入生产时既不要忽略服务器证书错误,也不要禁用 https。
理论要掌握,实操不能落!以上关于《Opensearch ping 弹性服务器时出错:x509 证书由未知机构签名》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341