@@ -2,6 +2,7 @@ package server
22
33import (
44 "context"
5+ "crypto/tls"
56 "fmt"
67 "net"
78 "strings"
@@ -118,14 +119,27 @@ func NewServer(conf *config.Config, logger log.Logger) (*Server, error) {
118119
119120 // Cluster.
120121
122+ proxyTLSConfig , err := conf .Proxy .TLS .Load ()
123+ if err != nil {
124+ return nil , fmt .Errorf ("proxy tls: %w" , err )
125+ }
126+
121127 s .clusterState = cluster .NewState (& cluster.Node {
122128 ID : conf .Cluster .NodeID ,
123129 ProxyAddr : conf .Proxy .AdvertiseAddr ,
124130 AdminAddr : conf .Admin .AdvertiseAddr ,
125131 }, logger )
126132 s .clusterState .Metrics ().Register (registry )
127133
128- upstreams := upstream .NewLoadBalancedManager (s .clusterState )
134+ var clientTLSConfig * tls.Config
135+ if proxyTLSConfig != nil {
136+ clientTLSConfig , err = conf .Proxy .ClientTLS .Load ()
137+ if err != nil {
138+ return nil , fmt .Errorf ("proxy client tls: %w" , err )
139+ }
140+ }
141+
142+ upstreams := upstream .NewLoadBalancedManager (s .clusterState , clientTLSConfig )
129143 upstreams .Metrics ().Register (registry )
130144
131145 // Proxy server.
@@ -140,10 +154,6 @@ func NewServer(conf *config.Config, logger log.Logger) (*Server, error) {
140154 auth .NewJWTVerifier (verifierConf ), nil ,
141155 )
142156 }
143- proxyTLSConfig , err := conf .Proxy .TLS .Load ()
144- if err != nil {
145- return nil , fmt .Errorf ("proxy tls: %w" , err )
146- }
147157 s .proxyServer = proxy .NewServer (
148158 upstreams ,
149159 conf .Proxy ,
0 commit comments