É possível usar o TLS simples para proteger o gateway de entrada com HTTPS e ativar conexões HTTPS para páginas da Web específicas. Também é possível redirecionar conexões HTTP para HTTPS.
O HTTPS cria um canal seguro em uma rede não segura, protegendo contra ataques intermediários e criptografando o tráfego entre o cliente e o servidor. Para preparar um servidor da Web para aceitar conexões HTTPS, um administrador precisa criar um certificado de chave pública para o servidor. O certificado precisa ser assinado por uma autoridade de certificação confiável para que um navegador da Web aceite-o sem emitir avisos.
Edite o gateway chamado external-gateway no namespace kf usando o editor integrado do Kubernetes:
kubectl edit gateway -n kf external-gateway
- Pressupondo que você tem um certificado e uma chave para o serviço, crie um secret do Kubernetes para o gateway de entrada. Verifique se o nome do secret não começa com 
istioouprometheus. Neste exemplo, o secret é chamado demyapp-https-credential. - Em 
servers:- Adicione uma seção para a porta 443.
 - Em 
tls:, definacredentialNamecomo o nome do secret que você acabou de criar. - Em 
hosts:, adicione o nome do host do serviço que você quer proteger com HTTPS. Isso pode ser definido como todo o domínio usando um caractere curinga (por exemplo,*.example.com) ou com escopo definido apenas para um nome de host (por exemplo,myapp.example.com). 
 - É necessário que já exista uma seção em 
servers:para a porta 80 HTTP. Mantenha essa seção na definição do gateway se quiser que todo o tráfego entre como HTTP. - Para redirecionar HTTP para HTTPS, adicione o valor 
httpsRedirect: trueemtlsna seção do servidor HTTP. Consulte a documentação do gateway do Istio para referência. A adição na seção em quehostsé definido como*significa que todo o tráfego é redirecionado para HTTPS. Se quiser redirecionar o HTTP para HTTPS em um único app/domínio, adicione uma seção HTTP separada para especificá-lo. 
Veja abaixo um exemplo de um gateway spec que configura HTTPS para myapp.example.com e redireciona HTTP para HTTPS para esse host:
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - myapp.example.com
    port:
      name: https
      number: 443
      protocol: HTTPS
    tls:
      credentialName: myapp-https-credential
      mode: SIMPLE
  - hosts:
    - myapp.example.com
    port:
      name: http-my-app
      number: 80
      protocol: HTTP
    tls:
      httpsRedirect: true
  - hosts:
    - '*'
    port:
      name: http
      number: 80
      protocol: HTTP