Go acme:对<;的授权错误;域>;(acme/autocert)

Go acme:对<;的授权错误;域>;(acme/autocert),go,lets-encrypt,Go,Lets Encrypt,运行以下代码时,我得到错误: acme:域的授权错误(其中域被my替换) 实际域) 还有其他人有这个问题吗?返回的错误没有提供那么多的洞察力 package main import ( "crypto/tls" "net/http" "golang.org/x/crypto/acme/autocert" ) func main() { certManager := autocert.Manager{ Prompt: autocert.

运行以下代码时,我得到错误:

acme:域的授权错误(其中域被my替换) 实际域)

还有其他人有这个问题吗?返回的错误没有提供那么多的洞察力

package main

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

    "golang.org/x/crypto/acme/autocert"
)

func main() {
    certManager := autocert.Manager{
        Prompt:     autocert.AcceptTOS,
        HostPolicy: autocert.HostWhitelist(<domain>), //your domain here
        Cache:      autocert.DirCache("cache"), //folder for storing certificates
    }

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("Hello world"))
    })

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

    if err := server.ListenAndServeTLS("", ""); err != nil {
        print(err.Error())
    }
}
主程序包
进口(
“加密/tls”
“net/http”
“golang.org/x/crypto/acme/autocert”
)
func main(){
certManager:=自动插入管理器{
提示:autocert.acceptos,
HostPolicy:autocert.HostWhitelist(),//此处是您的域
Cache:autocert.DirCache(“Cache”),//用于存储证书的文件夹
}
http.HandleFunc(“/”,func(w http.ResponseWriter,r*http.Request){
w、 写入([]字节(“Hello world”))
})
服务器:=&http.server{
地址:“:8086”,
TLSConfig:&tls.Config{
GetCertificate:certManager.GetCertificate,
}
如果错误:=server.listendServeTls(“,”);错误!=nil{
打印(err.Error())
}
}

也许您的服务器在端口8086上,而tls挑战在端口443上? 尝试在端口443上提供服务(您可能需要设置二进制文件的CAP以允许它这样做)

请参阅本期的lets encrypt:


这的确是答案。非常感谢您的帮助!