问题描述
我有一个 angular 应用程序,它使用 Nginx-alpine 作为基本映像进行 dockerized。我的基础设施托管在 AKS 集群版本 1.18.14 上。和 nginx-ingress 将流量路由到 pods k8s.gcr.io/ingress-Nginx/controller:v0.44.0 。下面是我的入口
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
Metadata:
name: ingress
namespace: default
annotations:
kubernetes.io/ingress.class: Nginx
Nginx.ingress.kubernetes.io/ssl-redirect: "false"
Nginx.ingress.kubernetes.io/use-regex: "true"
Nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- http:
paths:
- path: /?(.*)
backend:
serviceName: portal
servicePort: 80
当我使用 ip-address/ 应用程序加载应用程序时。 但是,如果我想在下面的 nginx-ingress 应用程序中添加路径,则不会加载。
- path: /myportal(/|$)(.*)
backend:
serviceName: my-portal
servicePort: 80
当我点击 ip-address/myportal 时,应用无法加载。我应该做哪些改变
解决方法
您的 yaml 配置似乎有误。
应该是:
paths:
- backend:
serviceName: my-portal
servicePort: 80
path: /myportal(/|$)(.*)
代替:
- path: /myportal(/|$)(.*)
backend:
serviceName: my-portal
servicePort: 80
确保缩进到位且语法正确。使用 this example 作为参考。