【问题标题】:Auto accept certificates programmatically with go-gin使用 go-gin 以编程方式自动接受证书
【发布时间】:2016-11-29 03:18:35
【问题描述】:

我正在使用 golang go-gin 服务器来托管应用程序。前端和后端都通过 https 工作,并且都是独立的项目。前端对基于 REST API 的后端进行 ajax 调用。如果我清除浏览器缓存(Google Chrome)并尝试加载 UI,它最初不会与后端 API 通信。然后在另一个选项卡中,我点击基本 url (https://localhost:8080/) 接受证书,然后它就可以工作了。有没有办法避免这种情况?我希望前端应该自动接受证书而不是抱怨它。

【问题讨论】:

  • 如果您使用的是自签名证书,则必须将其安装在浏览器/系统和任何其他计算机中以防止出现该警告,如果您要使用它,则没有其他方法阿贾克斯。此外,您现在正在开发,因此,您可以使用简单的 http 来提出建议。如果您在没有浏览器的情况下直接连接两个 golang 服务器,则可以使用 http.Transport 禁用 tls 验证。

标签: ssl go


【解决方案1】:

tls.Config 中,您可以找到Certificates 属性,这可能对您的情况有所帮助:

证书包含一个或多个证书链 呈现给连接的另一端。 服务器配置必须至少包含一个证书 否则设置 GetCertificate。

然后您可以使用您的自定义tls.Config 来获得一个http.Transport 用于您的目的

tr := &http.Transport{
    TLSClientConfig: &tls.Config{...custom config attrs...},
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2015-10-19
    • 2013-04-23
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多