GCS Cache
GCS Cache implements the autocert.Cache interface using Google Cloud Storage.
Example Usage
package main
import (
"crypto/tls"
"log"
"net/http"
"github.com/kelseyhightower/gcscache"
"golang.org/x/crypto/acme/autocert"
)
func main() {
cache, err := gcscache.New("bucket")
if err != nil {
log.Fatal(err)
}
m := autocert.Manager{
Cache: cache,
Prompt: autocert.AcceptTOS,
HostPolicy: autocert.HostWhitelist("example.org"),
}
mux := http.NewServeMux()
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Autocert with Google Cloud Storage Cache"))
})
s := &http.Server{
Addr: "0.0.0.0:443",
Handler: mux,
TLSConfig: &tls.Config{GetCertificate: m.GetCertificate},
}
s.ListenAndServeTLS("", "")
}