Nginx ingress 跳转

SSL Redirection

因为我们的程序通常不会自己配置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的话要注意测试开起来是不是有问题

WWW 跳转

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重写向到新的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 是正则的第二个匹配项。

最近更新的
...