Fau*_*zan 7 nginx url-rewriting kubernetes-ingress nginx-ingress
我在 kubernetes 上部署了 Vue JS。我需要像这个页面一样配置 nginx 路由:
https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
配置是这样的:
location / {
try_files $uri $uri/ /index.html;
}
Run Code Online (Sandbox Code Playgroud)
如何将该配置转换为 ingress kubernetes yaml 配置?
我尝试过这个但不起作用
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /index.html
name: backoffice
namespace: default
selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/backoffice
spec:
rules:
- host: dev.abc.com
http:
paths:
- backend:
serviceName: backoffice-svc
servicePort: 443
path: /
Run Code Online (Sandbox Code Playgroud)
我尝试使用这个注释,但仍然不起作用:
nginx.ingress.kubernetes.io/app-root: /app1
Run Code Online (Sandbox Code Playgroud)
Ingress可能如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: some-nice-server
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: "some.nice.server.com"
http:
paths:
- path: /something1/?(.*)
backend:
serviceName: something-1
servicePort: 8080
Run Code Online (Sandbox Code Playgroud)
Kubernetes Ingress-Nginx dosc对此进行了很好的解释。
或者,您也可以在注释中使用配置片段:
...
nginx.ingress.kubernetes.io/configuration-snippet: |
try_files $uri $uri/ /index.html;
...
Run Code Online (Sandbox Code Playgroud)