我在Kubernetes中设置了带有Ingress资源的Custom Nginx入口控制器,而不是“default-http-backend service”,我使用自定义应用程序作为默认请求的默认后端服务 . 我也使用自定义SSL设置为kubernetes secret,用于我的服务 . 问题是当我请求规则中提到的主机名时,https重定向有效 . 但是,当进行规则中提到的主机以外的请求时,它会提供默认应用程序,但https重定向不起作用 .
如何为包括默认请求在内的所有请求将请求从http重定向到https . 换句话说,如何在入口资源中为通配符域设置https重定向 .
请找到我的入口资源的yaml文件 .
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-resource
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
kubernetes.io/ingress.allow-http: "false"
ingress.kubernetes.io/rewrite-target: /
ingress.kubernetes.io/ssl-redirect: "true"
ingress.kubernetes.io/proxy-connect-timeout: "14400"
ingress.kubernetes.io/proxy-send-timeout: "14400"
ingress.kubernetes.io/proxy-read-timeout: "14400"
spec:
tls:
- secretName: tls-secret
rules:
- host: service1.example.com
http:
paths:
- path: /
backend:
serviceName: service1
servicePort: 80
- host: service2.example.com
http:
paths:
- path: /
backend:
serviceName: service2
servicePort: 80
---