为了账号安全,请及时绑定邮箱和手机立即绑定

是什么导致 golang 的 acme/autocert 中的 urn:acme:error:

是什么导致 golang 的 acme/autocert 中的 urn:acme:error:

Go
翻过高山走不出你 2022-06-13 15:03:08
完整的错误信息是: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 mainimport (    "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 吗?
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

这个说法:

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

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

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


查看完整回答
反对 回复 2022-06-13
  • 1 回答
  • 0 关注
  • 282 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号