INNER CODE UNIT · Go

tlsConfig

daptin/daptin · main.go:587

		tlsConfig := &tls.Config{GetCertificate: func(info *tls.ClientHelloInfo) (*tls.Certificate, error) {
			cert, ok := keyPairMap[info.ServerName]
			if !ok {
				return nil, fmt.Errorf("certificate not found for hostname [%v]", info.ServerName)
			}
			return &cert, nil
		}}
		httpsListener, listenErr := net.Listen("tcp", *httpsPort)
		if listenErr != nil {
			log.Fatalf("failed to listen on HTTPS address %s: %v", *httpsPort, listenErr)
		}
		tlsServer := &http.Server{Addr: *httpsPort, Handler: gate, TLSConfig: tlsConfig}
		httpServers = append(httpServers, tlsServer)
		go func() {
			listener := tls.NewListener(tracker.Wrap(httpsListener), tlsConfig)
			if serveErr := tlsServer.Serve(listener); serveErr != nil && !errors.Is(serveErr, http.ErrServerClosed) {
				serveErrors <- fmt.Errorf("HTTPS server: %w", serveErr)
			}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…