I am trying to create an ingress gateway which can route the traffic to https enabled applications.
I am using conusl version 1.10.0 here is consul config:
global: name: consul datacenter: dc1 gossipEncryption: secretName: "consul-gossip-encryption-key" secretKey: "key" tls: enabled: true enableAutoEncrypt: true verify: true acls: manageSystemACLs: true metrics: enabled: true enableGatewayMetrics: true prometheus: enabled: true ui: enabled: true service: type: 'ClusterIP' metrics: enabled: true provider: "prometheus" baseURL: http://prometheus-server connectInject: enabled: true transparentProxy: defaultEnabled: false controller: enabled: true client: enabled: true grpc: true ingressGateways: enabled: true defaults: replicas: 1 gateways: - name: ingress-gateway service: type: LoadBalancer ports: - port: 443 nodePort: null # Use only one Consul server for local development server: replicas: 1 bootstrapExpect: 1 disruptionBudget: enabled: true maxUnavailable: 0
and ingress yaml looks like this:
apiVersion: consul.hashicorp.com/v1alpha1 kind: IngressGateway metadata: name: ingress-gateway spec: tls: enabled: true listeners: - port: 443 protocol: http services: - name: '*'
However the traffic routing works perfectly fine when https is not enabled in my application.
For local development I am using self singed certificates as .pfx file which are volume mounted to the deployment.
I have a micro-service architecture where micro-app 1 wants to connect to micro-app 2 through gRPC. My micro-apps are written in .NET Core 5 and to achieve this I’ve enabled https in micro-apps.
So how I can achieve this through consul IngressGateway resource that it starts routing incoming traffic to my https micro-app.
I always get no healthy upstream while trying to hit through localhost
I am stuck here since I am new to consul IngressGateway.