@marcel91200 / caddy Mirror · read-only / commits / 35c8c2d9
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 12, 00:45 UTC

caddytls: Add remote_ip to HTTP cert manager (close #6952)

Matthew Holt committed Apr 17, 2025 at 16:43 UTC 35c8c2d92d26208642cea0d1549c77a00124e154
1 file changed +5
modules/caddytls/certmanagers.go
+5
@@ -5,6 +5,7 @@ import (
5 "crypto/tls"
6 "fmt"
7 "io"
8 + "net"
9 "net/http"
10 "net/url"
11 "strings"
@@ -143,6 +144,10 @@ func (hcg HTTPCertGetter) GetCertificate(ctx context.Context, hello *tls.ClientH
144 qs.Set("server_name", hello.ServerName)
145 qs.Set("signature_schemes", strings.Join(sigs, ","))
146 qs.Set("cipher_suites", strings.Join(suites, ","))
147 + remoteIP, _, err := net.SplitHostPort(hello.Conn.RemoteAddr().String())
148 + if err == nil && remoteIP != "" {
149 + qs.Set("remote_ip", remoteIP)
150 + }
151 parsed.RawQuery = qs.Encode()
152
153 req, err := http.NewRequestWithContext(hcg.ctx, http.MethodGet, parsed.String(), nil)