Bad Gateway response on IngressRoute match

I have traefik set up in GKE with Let's encrypt. Copypasted everything from here https://docs.traefik.io/user-guides/crd-acme/

It's all been working fine till I added new IngressRoute match.

  - match: Host(`example.com`) && PathPrefix(`/api/inventory`)
    kind: Rule
    services:
      - name: inventory
        port: 80

I get Bad Gateway with curl https://example.com/api/inventory. I can see in the traefik's logs the request is forwarded to the right ip and port of the pod. And somehow the protocol of the request is HTTP/2.0. I made request with --http1.1 didn't help.

I've port-forwarded the inventory service and responses were just fine.

At this point I have no idea what to do.

The problem didn't have to do anything with traefik.

I experimented with go-swagger which by default launches on 127.0.0.1.
Changing the host to 0.0.0.0 fixed the problem.