コード例 #1
0
ファイル: main.go プロジェクト: kr/webx
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)
	}
}