2017-08-17 1 views
0

Wenn Sie den folgenden Code ausgeführt wird erhalte ich die Fehlermeldung:Acme: Berechtigungsfehler für <domain> (Acme/autocert)

acme: authorization error for domain (where domain is replaced by my actual domain)

Hat jemand dieses Problem gehabt? Der zurückgegebene Fehler gibt nicht so viel Einblick.

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()) 
    } 
} 

Antwort

1

Vielleicht ist Ihr Server auf Port 8086 und die TLS-Herausforderung ist auf Port 443? Versuchen Sie stattdessen, Port 443 zu verwenden (Sie müssen möglicherweise Ihre Binärdatei festlegen, um dies zu ermöglichen).

Sehen Sie dieses Problem auf encrypt können:

https://github.com/letsencrypt/acme-spec/issues/33

+1

Dies war in der Tat die Antwort. Vielen Dank für Ihre Hilfe! – Miloandmilk

Verwandte Themen