fixing host matching in caddy integration

pull/12/head
Stephen Searles 7 years ago
parent 55d2ac2b97
commit 1196033364
  1. 10
      http.go
  2. 2
      testdir/caddyfile

@ -109,9 +109,10 @@ func (ch *CaddyHugo) ServeNewContent(w http.ResponseWriter, r *http.Request) (in
func (ch *CaddyHugo) Middleware(c *caddy.Controller) httpserver.Middleware {
return func(next httpserver.Handler) httpserver.Handler {
host := net.JoinHostPort(ch.Site.Addr.Host, ch.Site.Addr.Port)
host := ch.Site.Addr.Host
hostport := net.JoinHostPort(ch.Site.Addr.Host, ch.Site.Addr.Port)
return httpserver.HandlerFunc(func(w http.ResponseWriter, r *http.Request) (int, error) {
if r.Host != host {
if r.Host != host && r.Host != hostport {
return next.ServeHTTP(w, r)
}
return ch.ServeHTTPWithNext(next, w, r)
@ -125,8 +126,9 @@ func (ch *CaddyHugo) Auth(r *http.Request) bool {
}
func (ch *CaddyHugo) Match(r *http.Request) bool {
host := net.JoinHostPort(ch.Site.Addr.Host, ch.Site.Addr.Port)
if r.Host != host {
host := ch.Site.Addr.Host
hostport := net.JoinHostPort(ch.Site.Addr.Host, ch.Site.Addr.Port)
if r.Host != host && r.Host != hostport {
return false
}
if strings.HasPrefix(r.URL.Path, "/media/") {

@ -7,7 +7,7 @@ localhost:8080 {
pprof
}
localhost:8081 {
localhost:8081, localhost:8082 {
root ./testsite2
hugo
errors { * }

Loading…
Cancel
Save