Go acme:对<;的授权错误;域>;(acme/autocert)
运行以下代码时,我得到错误: acme:域的授权错误(其中域被my替换) 实际域) 还有其他人有这个问题吗?返回的错误没有提供那么多的洞察力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.
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:
这的确是答案。非常感谢您的帮助!