func listenBackends(dir *Directory) { var srv spdy.Server srv.Addr = os.Getenv("BKDADDR") if srv.Addr == "" { srv.Addr = defBackendAddr } log.Println("listen backends", srv.Addr) mux := http.NewServeMux() mux.HandleFunc("api.webx.io/mon/", dir.Monitor) srv.Handler = mux srv.TLSConfig = &tls.Config{ NextProtos: []string{"spdy/3", "rspdy/3", "http/1.1"}, } srv.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){ "rspdy/3": dir.ServeRSPDY, } err := srv.ListenAndServeTLS(innerCertFile, innerKeyFile) if err != nil { log.Fatal(err) } }