【发布时间】:2019-03-06 19:10:28
【问题描述】:
我正在尝试设置一个 nginx 入口控制器;这是入口的yaml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-rules
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
spec:
rules:
- host:
http:
paths:
- path: /discover-service
backend:
serviceName: discover-service
servicePort: discover-port
当我点击http://IP/discover-service 时,它会显示一个没有 CSS 和 JS 的 HTML。如我所见,它们在http://IP/eureka/css/file.css 下而不是http://IP/discover-service/css/file.css 下查看。
在这种情况下如何保留原始网址?
更新 #1
现在我可以通过创建两个入口来提供静态文件,例如:
ingress-rules-discover-root.yaml
[..]
metadata:
name: ingress-rules-discover-root
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
[...]
spec:
rules:
- host:
http:
paths:
- path: /discover-service
backend:
serviceName: discover-service
servicePort: discover-port
还有一个
[...]
metadata:
name: ingress-rules-discover-path
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
[...]
spec:
rules:
- host:
http:
paths:
- path: /eureka
backend:
serviceName: discover-service
servicePort: discover-port
【问题讨论】:
标签: nginx kubernetes nginx-reverse-proxy kubernetes-ingress