diff --git a/src/envoy/utils/grpc_transport.h b/src/envoy/utils/grpc_transport.h index bda56b6621f..41bbffe5407 100644 --- a/src/envoy/utils/grpc_transport.h +++ b/src/envoy/utils/grpc_transport.h @@ -45,7 +45,12 @@ class GrpcTransport : public Grpc::TypedAsyncRequestCallbacks, ResponseType* response, Tracing::Span& parent_span, istio::mixerclient::DoneFunc on_done); - void onCreateInitialMetadata(Http::HeaderMap&) override {} + void onCreateInitialMetadata(Http::HeaderMap& metadata) override { + // We generate cluster name contains invalid characters, so override the + // authority header temorarily until it can be specified via CDS. + // See https://github.com/envoyproxy/envoy/issues/3297 for details. + metadata.Host()->value("mixer", 5); + } void onSuccess(std::unique_ptr&& response, Tracing::Span& span) override;