code: func (m *Manager) Serve() error {
  	l, err := net.Listen("tcp", ":http")
  	if err != nil {
  		return err
  	}
  	defer l.Close()
  	go http.Serve(l, http.HandlerFunc(RedirectHTTP))
  
  	return m.ServeHTTPS()
  }
docs: // Serve runs an HTTP/HTTPS web server using TLS certificates obtained by the manager.
  // The HTTP server redirects all requests to the HTTPS server.
  // The HTTPS server obtains TLS certificates as needed and responds to requests
  // by invoking http.DefaultServeMux.
  //
  // Serve does not return unitil the HTTPS server fails to start or else stops.
  // Either way, Serve can only return a non-nil error, never nil.