code: func NewTLSConfig(url, certFile, keyFile, caFile string) (*tls.Config, error) {
  	config, err := newTLSConfigCommon(certFile, keyFile, caFile)
  	if err != nil {
  		return nil, err
  	}
  	config.BuildNameToCertificate()
  
  	serverName, err := urlutil.ExtractHostname(url)
  	if err != nil {
  		return nil, err
  	}
  	config.ServerName = serverName
  
  	return config, nil
  }
docs: // NewTLSConfig returns tls.Config appropriate for client and/or server auth.