<p>I am using Istio 1.10.0 with minikube. Kubernetes server version is 1.19.8.</p>
<p>How to add multiple headers in http request? Is it possible to place dynamic values like <code>request.headers[&quot;Host&quot;]</code>?</p>
<pre><code>X-Forwarded-Host $host;    
X-Forwarded-Port 9090;
X-Forwarded-Proto http;
</code></pre>
<p>Below sample is working fine for adding response header.</p>
<pre><code>apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  annotations:
    helm.sh/hook: pre-install, pre-upgrade
  creationTimestamp: &quot;2021-11-22T13:01:36Z&quot;
  generation: 8
  name: direct-vs
  namespace: cvrm
  resourceVersion: &quot;72069&quot;
  selfLink: /apis/networking.istio.io/v1beta1/namespaces/cvrm/virtualservices/cvrm-direct-vs
  uid: d398a13e-fd81-4ada-8e36-617287cae1bc
spec:
  gateways:
  - gateway.istio-system.svc.cluster.local
  hosts:
  - '*'
  http:
  - match:
    - uri:
        prefix: /console
    route:
    - destination:
        host: console-bs.cvrm.svc.cluster.local
        port:
          number: 8087
      headers:
        response:
          add:
            Custom-Header: test
</code></pre>

<p>You add headers to requests the same way you did with response.</p>
<pre class="lang-yaml prettyprint-override"><code>...
headers:
  request:
    add:
      foo: bar
...
</code></pre>
<p>If you want to add multiple headers added you can try</p>
<pre class="lang-yaml prettyprint-override"><code>...
headers:
  request:
    add:
      foo: foo
      bar: bar
...
</code></pre>
<p>It's not possible to add dynamic values in Istio manifests.</p>
