因为我们的程序通常不会自己配置SSL. 所以我们需要把SSL跳转放到 网关这边来。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-redirection-live
namespace: malema-live
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true" # 有使用 cdn的话要注意测试开起来是不是有问题
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-redirection-live
namespace: malema-live
annotations:
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
有时候我们一个网站可能有多个域名。 我们希望将所有的域名都一起跳到主站。(没有www也在这边一起跳) 这样我们可以单独定义一个新的ingress。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-redirection-live
namespace: malema-live
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/server-snippet: |
rewrite ^.* https://www.malema.net/ permanent;
spec:
ingressClassName: nginx
tls:
- hosts:
- malema.net
secretName: ingress-tls
rules:
- http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: web-live
port:
number: 80
在网站不断升级的过程当中。有一些Url结构可能会发生变化。我们希望将Url重写向到新的Url
annotations:
nginx.ingress.kubernetes.io/session-cookie-path: /
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/server-snippet: |
rewrite ^(?i)/productx/(.*) /product/$1 permanent;
rewrite ^(?i)/folder$ /folders permanent;
$1 是正则的第二个匹配项。