Kubernetes ingress 允许Azure应用程序网关路由AKS中的所有子路径
我已将AKS配置为Azure应用程序网关作为入口 我正在尝试将.net core Angular应用程序部署到集群内的路径。我想在Kubernetes ingress 允许Azure应用程序网关路由AKS中的所有子路径,kubernetes-ingress,azure-aks,azure-application-gateway,Kubernetes Ingress,Azure Aks,Azure Application Gateway,我已将AKS配置为Azure应用程序网关作为入口 我正在尝试将.net core Angular应用程序部署到集群内的路径。我想在http:///app1 我的kubernetes部署(包括入口设置)如下所示: apiVersion: v1 kind: Pod metadata: name: web-app-1 labels: app: web-app-1 spec: containers: - image: "xxx.azurecr.io/web-app-1:
http:///app1
我的kubernetes部署(包括入口设置)如下所示:
apiVersion: v1
kind: Pod
metadata:
name: web-app-1
labels:
app: web-app-1
spec:
containers:
- image: "xxx.azurecr.io/web-app-1:latest"
name: web-app-1
imagePullPolicy: Always
ports:
- containerPort: 80
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: web-app-1
spec:
selector:
app: web-app-1
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web-app-1
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:
- http:
paths:
- path: /app1
backend:
serviceName: web-app-1
servicePort: 80
在Angular应用程序中,我将
放在index.html
中。但是,我已经将构建修改为ngbuild--base href/app1/“
问题 当部署了它,我浏览到
http:///app1
然后加载index.html文件。但是,对于所有附加脚本,例如http:///app1/main-es2015.9ae13a2658e759db61f5.js
问题可能在于我如何配置Angular,但浏览到http:///app1/index.html
当我知道只需使用/app1/
即可访问404时,返回404
我认为问题在于Application Gateway没有正确路由/app1/
之后的任何请求。如何使其允许子路由通过(即脚本)
谢谢现在这个工作正常了。如果我看404响应头,它说它是来自kestrel的,所以正在点击dotnet core api,所以它需要在那里进行配置。我所做的所有更改是: 客户:
- 将基本href保留为
,例如/
- 将base href添加到build参数中,例如ng build--base href/app1/“
- 在
Startup.cs的
中,添加Configure
我在app.UsePathBase(“/app1”)
的env.IsDevelopment()
中这样做else
- 将规则的路径更改为
。我没有星号,因此没有选择所有后续路线-path:/app1*