<p>I'm currently migrating an IT environment from Nginx Ingress Gateway to IstIO Ingress Gateway on Kubernetes.</p>
<p>I need to migrate the following Nginx annotations:</p>
<pre><code>nginx.ingress.kubernetes.io/proxy-buffer-size
nginx.ingress.kubernetes.io/proxy-read-timeout
nginx.ingress.kubernetes.io/proxy-send-timeout
nginx.ingress.kubernetes.io/proxy-body-size
nginx.ingress.kubernetes.io/upstream-vhost
</code></pre>
<p>For Nginx, the annotations are documented here: <a href="https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/" rel="nofollow noreferrer">https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/</a></p>
<p>I didn't find the way of use for the IstIO Ingress Gateway on the documentation of IstIO for the Nginx annotations.</p>
<p>Does anyone know how to implement the above mentioned annotations in the IstIO Ingress Gateway?</p>

<p>I think I found how to set <a href="https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-body-size" rel="nofollow noreferrer"><code>nginx.ingress.kubernetes.io/proxy-body-size</code></a> in Istio.</p>
<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: reviews-lua
  namespace: bookinfo
spec:
  workloadSelector:
    labels:
      app: reviews
  configPatches:
    # The first patch adds the lua filter to the listener/http connection manager
  - applyTo: HTTP_FILTER
    match:
      context: SIDECAR_INBOUND
      listener:
        portNumber: 8080
        filterChain:
          filter:
            name: &quot;envoy.http_connection_manager&quot;
            subFilter:
              name: &quot;envoy.router&quot;
    patch:
      operation: INSERT_BEFORE
      value: # lua filter specification
       name: envoy.lua
       config:
         inlineCode: |
           function envoy_on_request(request_handle)
             request_handle:headers():add(&quot;request_body_size&quot;, request_handle:body():length())
           end
</code></pre>
<p>And also the TLS ciphers:</p>
<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-tls-ingress
spec:
  selector:
    app: my-tls-ingress-gateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - &quot;*&quot;
    tls:
      mode: SIMPLE
      serverCertificate: /etc/certs/server.pem
      privateKey: /etc/certs/privatekey.pem
      cipherSuites: &quot;&lt;tls-ciphers&gt;&quot;
</code></pre>
