Added automatic tls cert updating
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,5 +1,5 @@
|
|||||||
run: develop
|
run: develop
|
||||||
bin/develop --server --port 8080 --secret test --database db.sqlite --debug --pretty
|
bin/develop --secret test --server --port 8181 --database db.sqlite --debug --pretty
|
||||||
develop:
|
develop:
|
||||||
go build -tags Develop -o bin/develop
|
go build -tags Develop -o bin/develop
|
||||||
release:
|
release:
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package server
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"crypto/tls"
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
@@ -107,9 +108,18 @@ func (s *Server) Start() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if s.options.Tls.Enabled {
|
if s.options.Tls.Enabled {
|
||||||
tls := s.options.Tls.Get()
|
tlsOpts := s.options.Tls.Get()
|
||||||
log.Info().Int("Port", s.options.Port).Str("Cert", tls.CertPath).Str("Key", tls.KeyPath).Msg("Starting server")
|
server.TLSConfig = &tls.Config{
|
||||||
return server.ListenAndServeTLS(tls.CertPath, tls.KeyPath)
|
GetCertificate: func(chi *tls.ClientHelloInfo) (*tls.Certificate, error) {
|
||||||
|
cert, err := tls.LoadX509KeyPair(tlsOpts.CertPath, tlsOpts.KeyPath)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &cert, err
|
||||||
|
},
|
||||||
|
}
|
||||||
|
log.Info().Int("Port", s.options.Port).Str("Cert", tlsOpts.CertPath).Str("Key", tlsOpts.KeyPath).Msg("Starting server")
|
||||||
|
return server.ListenAndServeTLS("", "")
|
||||||
} else {
|
} else {
|
||||||
log.Info().Int("Port", s.options.Port).Msg("Starting server")
|
log.Info().Int("Port", s.options.Port).Msg("Starting server")
|
||||||
return server.ListenAndServe()
|
return server.ListenAndServe()
|
||||||
|
|||||||
Reference in New Issue
Block a user