banner
欢迎观看

Istio重定向HTTP为HTTPS

Scroll down

本文作者:丁辉

Istio重定向HTTP为HTTPS

部署基础服务

  1. 部署 Nginx 资源

    1
    2
    kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/nginx-deployment.yaml
    kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/nginx-deployment-svc.yaml
  2. 查看部署情况

    1
    kubectl get deploy,svc

配置 Istio 对外访问

  1. 部署 Nginx Gateway 资源

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    cat <<EOF | kubectl apply -f -
    apiVersion: networking.istio.io/v1
    kind: Gateway
    metadata:
    name: nginx-gateway
    namespace: default
    spec:
    selector:
    istio: ingressgateway
    servers:
    - port:
    number: 443
    name: https
    protocol: HTTPS
    hosts:
    - example.com # 替换为你的域名
    tls:
    mode: SIMPLE
    credentialName: example-tls # 替换为你的证书,这个 secret 必须在 istio-system 命名空间
    - port:
    number: 80
    name: http
    protocol: HTTP
    hosts:
    - example.com # 替换为你的域名
    EOF
  2. 部署 Nginx VirtualService 资源

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
      http:
    - name: http-redirect
    match:
    - port: 80
    redirect:
    port: 443
    scheme: https
    - name: https-route
    match:
    - port: 443
    route:
    - destination:
    host: nginx-service.default.svc.cluster.local # 完整的服务 FQDN
    port:
    number: 80

    cat <<EOF | kubectl apply -f -
    apiVersion: networking.istio.io/v1
    kind: VirtualService
    metadata:
    name: nginx-virtualservice
    namespace: default
    spec:
    hosts:
    - example.com # 替换为你的域名
    gateways:
    - nginx-gateway
    http:
    - name: https-route
    match:
    - uri:
    prefix: /
    port: 443
    route:
    - destination:
    host: nginx-service.default.svc.cluster.local
    port:
    number: 80
    - name: http-redirect
    match:
    - port: 80
    redirect:
    port: 443
    scheme: https
    EOF
  3. 访问 HTTP 实现自动跳转到 HTTPS

要是这篇文章为您解了惑、带来了帮助,不妨用小小的打赏来支持下我的创作吧,您的鼓励就是我持续分享的最大动力哦,感谢您啦!

其他文章
cover
Istio安装和使用
  • 70/01/01
  • 00:00
  • Kubernetes-网关
cover
使用Istio开启对外访问
  • 70/01/01
  • 00:00
  • Kubernetes-网关
目录导航 置顶
  1. 1. Istio重定向HTTP为HTTPS
    1. 1.1. 部署基础服务
    2. 1.2. 配置 Istio 对外访问
请输入关键词进行搜索