apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: <ingress_name>
  annotations:
    # kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/proxy-body-size: "1G"
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
  ingressClassName: nginx
  tls:
  - hosts:
    - <your_full_domain>
    secretName: <your_full_domain>
  rules:
  - host: <your_full_domain>
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: <service_name>
            port:
              number: 80

---
# remove prefix
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: <ingress_name>
  annotations:
    # kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/proxy-connect-timeout: '300'
    nginx.ingress.kubernetes.io/proxy-read-timeout: '300'
    nginx.ingress.kubernetes.io/proxy-send-timeout: '300'
    # 跳转示例, 申请证书时可能需要注释掉
    #nginx.org/location-snippets: |
      # rewrite ^/(.*)$ https://xxx/$1;
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /<path_prefix>(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: <service_name>
            port:
              number: 80