完整的錯誤信息是: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文件并確保您使用的是相當新的版本。我最近完成了一個使用幾乎相同代碼的項目。在require我go.mod看起來像這樣:
golang.org/x/crypto v0.0.0-20200602180216-279210d13fed
- 1 回答
- 0 關注
- 266 瀏覽
添加回答
舉報
0/150
提交
取消
