Настройка Istio Gateway с использованием http в порядке.
Но я не могу настроить https.Я следовал инструкции https://istio.io/docs/tasks/traffic-management/secure-ingress/
Istio: 1.0.2 (установка с использованием шлема) Kubernetes 1.10.3 eks
Я использую сертификат COMODO.
Только в первый раз я могу получить доступ к странице, используя https.После доступа к странице, если я пытаюсь подключиться снова, я получаю следующую ошибку в браузере.
mycompany.com unexpectedly closed the connection.
Try:
Checking the connection
Checking the proxy and the firewall
Если я использую curl, я получаю следующую ошибку.
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to qa-web.ffau.to:443
Если я тестирую с использованием openssl,
openssl s_client -tls1 -connect mycompany.com:443 -msg
Ошибка
140735917949896:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.2/libressl/ssl/s3_pkt.c:522:
Так я создал секрет.
kubectl create -n istio-system secret tls istio-ingressgateway-certs --key ffau.to.key --cert ffau.to.crt
Это вид шлюза и виртуального сервиса.
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: mycompany-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
privateKey: /etc/istio/ingressgateway-certs/tls.key
hosts:
- "mycompany.com"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ffau-qa-phoenix-us
spec:
hosts:
- "mycompany.com"
gateways:
- mycompany-gateway
http:
- match:
- uri:
prefix: /us/account
- uri:
prefix: /us/reserve
- uri:
exact: /phoenix-bundle.js
- uri:
exact: /client-env.js
- uri:
exact: /env-variables
- uri:
exact: /graphql
route:
- destination:
host: myui.default.svc.cluster.local
port:
number: 8000