Kubernetes Nginx Ingress 中 Rewrite 的使用
1. 重写
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: fe namespace: default annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - host: todo.qikqiak.com http: paths: - backend: serviceName: fe servicePort: 3000 path: /app(/|$)(.*)
2. 静态资源重写
如果前端代码中引用静态资源时使用了绝对路径,可能还需要对静态资源做跳转:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: fe namespace: default annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/rewrite-target: /$2 nginx.ingress.kubernetes.io/configuration-snippet: | rewrite ^/stylesheets/(.*)$ /app/stylesheets/$1 redirect; # 添加 /app 前缀 rewrite ^/images/(.*)$ /app/images/$1 redirect;