登录
首页 >  Golang >  Go问答

忽略失效的 TLS 如何操作

来源:stackoverflow

时间:2024-03-08 20:06:24 227浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《忽略失效的 TLS 如何操作》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

我通过向 prometheus 端点发送 http get() 来获取 prometheus 指标。如果 prometheus 端点是 http 这可以工作,但是当它是 https 时会抛出错误。

现在我想要一个用户设置为 ignore_invalid_tls,可以设置为 true 或 false。

要实现此目的,我需要忽略由 https 端点引起的错误。

我尝试过这种方法:

client := http.Client{
    Timeout: time.Duration(configuration.Endpoint.Timeout) * time.Second,
    Transport: &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    },
}

但这只会忽略错误的证书。

当 prometheus 端点为 https 时出现的错误是:

http:服务器向 https 客户端发出 http 响应


解决方案


人们不能一般性地忽略“无效的 TLS”。 TLS 握手包括证书的本地验证,可以使用 InsecureSkipVerify 禁用该验证。但是,如果对方一开始就不使用 TLS,例如“服务器向 HTTPS 客户端提供 HTTP 响应”,那么这一点就不能被忽略。这就像客户端说英语而服务器说西班牙语 - 人们不能简单地忽略两者无法理解对方并继续通信。

终于介绍完啦!小伙伴们,这篇关于《忽略失效的 TLS 如何操作》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>