【问题标题】:What causes urn:acme:error:unauthorized 403 error in golang's acme/autocert?是什么导致了 golang 的 acme/autocert 中的 urn:acme:error:unauthorized 403 错误?
【发布时间】:2020-10-10 05:59:37
【问题描述】:

完整的错误信息是:

403 urn:acme:error:unauthorized: ACMEv1 上的帐户创建是 禁用。请将您的 ACME 客户端升级到支持 ACMEv2 / RFC 8555。见 https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430 了解详情

我已经用谷歌搜索过这个链接并查看了那个链接,但我只是在使用:

golang.org/x/crypto/acme/autocert

以非常正常的方式打包:

package main

import (
    "crypto/tls"
    "net/http"

    "github.com/gin-gonic/gin"
    "golang.org/x/crypto/acme/autocert"
)

func main() {

    router := gin.Default()
    hosts := []string{"yourdomain.com"}
    certManager := autocert.Manager{
        Prompt:     autocert.AcceptTOS,
        HostPolicy: autocert.HostWhitelist(hosts...),
        Cache:      autocert.DirCache("/certs"),
    }

    server := &http.Server{
        Addr:    ":https",
        Handler: router,
        TLSConfig: &tls.Config{
            GetCertificate: certManager.GetCertificate,
        },
    }

    server.ListenAndServeTLS("", "")
}

事实上,这段代码在过去 6 个月里一直运行良好。但是就在今天,我切换了它所在的服务器,现在得到了上述消息。

我尝试获取最新版本的 golang,但仍然存在同样的问题。

我将我的主机的 DNS 更改为这个新服务器的 ip,并且服务器的主机名是正确的。

据我所知,它与以前的工作服务器 100% 相同,但使用了新 IP。

golang 的 acme/autocert 真的这么过时而且不使用 ACMEv2 吗?

【问题讨论】:

  • 您需要更新您的 certbot 软件/库,它太旧了。就像错误消息说的那样,不久前 Let's Encrypt 上的 API 发生了变化,因此需要更新客户端。
  • godoc.org/golang.org/x/crypto/acme 似乎提供了 ACMEv2
  • @Patrick 没有 certbot 软件!这是直接使用golang的库。
  • 是的...这就是我说“certbot 软件/库”的原因。注意“库”。
  • 然而,我能找到的一切都表明 golang 库是 ACMEv2。

标签: go https dns ssl-certificate tls1.2


【解决方案1】:

此声明:

事实上,这段代码在过去 6 个月里一直运行良好。但是就在今天,我切换了它所在的服务器,现在得到了上述消息。

可能表明您正在针对旧版本的 golang.org/x/crypto 构建 - 检查您的 go.mod 文件并确保您使用的是相当新的版本。我最近完成了一个使用几乎相同代码的项目。我的go.mod 中的require 看起来像这样:

golang.org/x/crypto v0.0.0-20200602180216-279210d13fed

【讨论】:

  • 看,我的 go.mod 已经将 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 更改为 2020 版本修复了它!谢谢你!!
猜你喜欢
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 2011-08-13
  • 2012-10-06
  • 1970-01-01
相关资源
最近更新 更多