Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

323
Views
istio: use service registry to make internal HTTPS request

we are using kubernetes (1.17.14-gke.1600) and istio (1.7.4)
we have several deployments that need to make each other HTTPS requests using the public DNS record (mydomain.com). The goal here is to make internal HTTPS request instead of going public and then come back.

we cannot change the host with the "internal" dns (ex my-svc.my-namespace.svc.cluster-domain.example ) because sometimes the same host is returned to the client to make HTTP request from the client browser

Our services are exposed in HTTP so I understand that if we want to use HTTPS scheme we need to pass through the istio gateway

Here is my VirtualService, adding the mesh gateway I'm able to make internal HTTP request with the public DNS, but this doesn't work with HTTPS

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: myservice
spec:
  gateways:
  - istio-system/gateway
  - mesh
  hosts:
  - myservice.mydomain.com
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: myservice
        port:
          number: 3000
        subset: v1

Here is the gateway:

apiVersion: v1
items:
- apiVersion: networking.istio.io/v1beta1
  kind: Gateway
  metadata:
    name: gateway
    namespace: istio-system
  spec:
    selector:
      istio: ingressgateway
    servers:
    - hosts:
      - '*'
      port:
        name: http
        number: 80
        protocol: HTTP
      tls:
        httpsRedirect: true
    - hosts:
      - '*'
      port:
        name: https
        number: 443
        protocol: HTTPS
      tls:
        credentialName: ingress-cert
        mode: SIMPLE

I've figured out one workaround to solve the problem is to use a Service Entry like this:

apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: internal-https-redirect
spec:
  endpoints:
  - address: 10.43.2.170 # istio-ingressgateway ClusterIP
  hosts:
  - '*.mydomain.com'
  location: MESH_INTERNAL
  ports:
  - name: internal-redirect
    number: 443
    protocol: HTTPS
  resolution: STATIC

But I'm not sure if the right way to do it or if that is considered a bad practice.

Thank you

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!