当运行以下代码时,我会得到错误:
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())
}
}发布于 2017-08-17 13:06:16
也许您的服务器位于端口8086,而tls挑战位于端口443?尝试在端口443上服务(您可能必须设置二进制文件以允许它这样做)。
请参阅“让我们加密”的问题:
https://stackoverflow.com/questions/45734686
复制相似问题