mirror of
https://github.com/caddyserver/caddy.git
synced 2025-06-05 03:34:41 +08:00
Initial implementation of global default SNI option (#3047)
* add global default sni * fixed grammar * httpcaddyfile: Reduce some duplicated code * Um, re-commit already-committed commit, I guess? (sigh) Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
This commit is contained in:
@ -29,6 +29,7 @@ import (
|
||||
|
||||
"github.com/caddyserver/caddy/v2"
|
||||
"github.com/lucas-clemente/quic-go/http3"
|
||||
"github.com/mholt/certmagic"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
@ -111,6 +112,10 @@ type App struct {
|
||||
// affect functionality.
|
||||
Servers map[string]*Server `json:"servers,omitempty"`
|
||||
|
||||
// DefaultSNI if set configures all certificate lookups to fallback to use
|
||||
// this SNI name if a more specific certificate could not be found
|
||||
DefaultSNI string `json:"default_sni,omitempty"`
|
||||
|
||||
servers []*http.Server
|
||||
h3servers []*http3.Server
|
||||
h3listeners []net.PacketConn
|
||||
@ -134,6 +139,8 @@ func (app *App) Provision(ctx caddy.Context) error {
|
||||
|
||||
repl := caddy.NewReplacer()
|
||||
|
||||
certmagic.Default.DefaultServerName = app.DefaultSNI
|
||||
|
||||
// this provisions the matchers for each route,
|
||||
// and prepares auto HTTP->HTTP redirects, and
|
||||
// is required before we provision each server
|
||||
|
Reference in New Issue
Block a user