I have the following virtualservice:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: a-service
namespace: default
spec:
hosts:
- 'a-service.default.svc.cluster.local'
gateways:
- gateway
tcp:
# http:
- match:
- port: 8080
route:
- destination:
host: 'a-service.default.svc.cluster.local'
port:
number: 8080
Using tcp I get a 200. Using http I get “Empty response from server”. I’ve tried two different dead-simple golang http servers: the first from docker, the second from hashicorp: 1, 2
My ingressgateway is a base install via Helm. No changes.
My gateway is:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: gateway
namespace: default
spec:
selector:
app: istio-ingressgateway
servers:
- port:
number: 8080
name: http-echo
protocol: TCP
hosts:
- 'a-service.default.svc.cluster.local'
Is this because the base ingressgateway install specifies the http2 port as TCP? Or because my gateway specifies the http-echo port as TCP? I didn’t think that mattered? I mean: why would the base ingressgateway configuration specify the http2 port as TCP anyway?
Anyway: any insight as to what the problem could be here would be greatly appreciated!