@@ -3,6 +3,7 @@ package coderd
3
3
import (
4
4
"bufio"
5
5
"context"
6
+ "crypto/tls"
6
7
"net"
7
8
"net/http"
8
9
"net/http/httputil"
@@ -200,7 +201,22 @@ type ServerTailnet struct {
200
201
transport * http.Transport
201
202
}
202
203
204
+ func insecureTLSConfig () * tls.Config {
205
+ return & tls.Config {
206
+ MinVersion : tls .VersionTLS12 ,
207
+ InsecureSkipVerify : true ,
208
+ }
209
+ }
210
+
203
211
func (s * ServerTailnet ) ReverseProxy (targetURL , dashboardURL * url.URL , agentID uuid.UUID ) (_ * httputil.ReverseProxy , release func (), _ error ) {
212
+ transport := s .transport
213
+
214
+ // We don't verify certificates for localhost applications.
215
+ if targetURL .Scheme == "https" {
216
+ transport = transport .Clone ()
217
+ transport .TLSClientConfig = insecureTLSConfig ()
218
+ }
219
+
204
220
proxy := httputil .NewSingleHostReverseProxy (targetURL )
205
221
proxy .ErrorHandler = func (w http.ResponseWriter , r * http.Request , err error ) {
206
222
site .RenderStaticErrorPage (w , r , site.ErrorPageData {
@@ -212,7 +228,7 @@ func (s *ServerTailnet) ReverseProxy(targetURL, dashboardURL *url.URL, agentID u
212
228
})
213
229
}
214
230
proxy .Director = s .director (agentID , proxy .Director )
215
- proxy .Transport = s . transport
231
+ proxy .Transport = transport
216
232
217
233
return proxy , func () {}, nil
218
234
}
0 commit comments