完整的错误消息是:
403 urn:acme:错误:未经授权: 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个月里一直运行并运行良好。但是就在今天,我切换了它打开的服务器,现在得到了上面的消息。
我试着得到最新版本的歌朗,但问题还是一样。
我将主机的DNS更改为这个新服务器的ip,服务器的主机名是正确的。
据我所知,它与以前的工作服务器100%相同,但有一个新的IP。
戈朗的acme/autocert真的过时了,没有使用ACMEv2吗?
发布于 2020-06-23 22:23:51
本声明如下:
实际上,在过去的6个月中,
代码一直运行良好。但是就在今天,我切换了它打开的服务器,现在得到了上面的消息。
可能表明您是根据较早版本的golang.org/x/crypto构建的--检查您的go.mod文件并确保您使用的是较新的版本。我最近完成了一个使用几乎相同代码的项目。我的go.mod中的go.mod如下所示:
golang.org/x/crypto v0.0.0-20200602180216-279210d13fedhttps://stackoverflow.com/questions/62479445
复制相似问题