@@ -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"
@@ -214,7 +215,22 @@ type ServerTailnet struct {
214
215
transport * http.Transport
215
216
}
216
217
218
+ func insecureTLSConfig () * tls.Config {
219
+ return & tls.Config {
220
+ MinVersion : tls .VersionTLS12 ,
221
+ InsecureSkipVerify : true ,
222
+ }
223
+ }
224
+
217
225
func (s * ServerTailnet ) ReverseProxy (targetURL , dashboardURL * url.URL , agentID uuid.UUID ) (_ * httputil.ReverseProxy , release func (), _ error ) {
226
+ transport := s .transport
227
+
228
+ // We don't verify certificates for localhost applications.
229
+ if targetURL .Scheme == "https" {
230
+ transport = transport .Clone ()
231
+ transport .TLSClientConfig = insecureTLSConfig ()
232
+ }
233
+
218
234
proxy := httputil .NewSingleHostReverseProxy (targetURL )
219
235
proxy .ErrorHandler = func (w http.ResponseWriter , r * http.Request , err error ) {
220
236
site .RenderStaticErrorPage (w , r , site.ErrorPageData {
@@ -226,7 +242,7 @@ func (s *ServerTailnet) ReverseProxy(targetURL, dashboardURL *url.URL, agentID u
226
242
})
227
243
}
228
244
proxy .Director = s .director (agentID , proxy .Director )
229
- proxy .Transport = s . transport
245
+ proxy .Transport = transport
230
246
231
247
return proxy , func () {}, nil
232
248
}
0 commit comments