运行以下代码时出现错误:
acme:域的授权错误(域名由我的域名替换) 实际域名)
还有其他人有这个问题吗?返回的错误没有给出那么多的见解。
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())
}
}
答案 0 :(得分:1)
也许您的服务器在端口8086上,而tls挑战在端口443上? 尝试在端口443上提供服务(您可能必须设置二进制文件以允许它执行此操作)。
关于let encrypt:
,请参阅此问题