diff --git a/server.go b/server.go index 8dfb486..2ebe019 100644 --- a/server.go +++ b/server.go @@ -170,7 +170,11 @@ func (s *Server) handleConn(c *Conn) error { if err == io.EOF { return nil } - s.ErrorLog.Printf("TLS handshake error for %s: %v", tlsConn.RemoteAddr(), err) + if err, ok := err.(*net.OpError); ok { + // preserve remote address from PROXY protocol + err.Addr = c.conn.RemoteAddr() + } + s.ErrorLog.Printf("TLS handshake error: %w", err) return err } }