examples/server: Use certificate.Store
This commit is contained in:
parent
66e03ef1e4
commit
69674fcdd5
@ -16,13 +16,8 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
var server gemini.Server
|
||||
server.ReadTimeout = 30 * time.Second
|
||||
server.WriteTimeout = 1 * time.Minute
|
||||
if err := server.Certificates.Load("/var/lib/gemini/certs"); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
server.GetCertificate = func(hostname string) (tls.Certificate, error) {
|
||||
certificates := &certificate.Store{
|
||||
CreateCertificate: func(hostname string) (tls.Certificate, error) {
|
||||
return certificate.Create(certificate.CreateOptions{
|
||||
Subject: pkix.Name{
|
||||
CommonName: hostname,
|
||||
@ -30,11 +25,22 @@ func main() {
|
||||
DNSNames: []string{hostname},
|
||||
Duration: 365 * 24 * time.Hour,
|
||||
})
|
||||
},
|
||||
}
|
||||
certificates.Register("localhost")
|
||||
if err := certificates.Load("/var/lib/gemini/certs"); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
var mux gemini.ServeMux
|
||||
mux.Handle("localhost", gemini.FileServer(os.DirFS("/var/www")))
|
||||
server.Handler = &mux
|
||||
mux := &gemini.ServeMux{}
|
||||
mux.Handle("/", gemini.FileServer(os.DirFS("/var/www")))
|
||||
|
||||
server := &gemini.Server{
|
||||
Handler: mux,
|
||||
ReadTimeout: 30 * time.Second,
|
||||
WriteTimeout: 1 * time.Minute,
|
||||
GetCertificate: certificates.GetCertificate,
|
||||
}
|
||||
|
||||
if err := server.ListenAndServe(); err != nil {
|
||||
log.Fatal(err)
|
||||
|
Loading…
Reference in New Issue
Block a user