![](/img/trans.png)
[英]Terraform AWS Kubernetes EKS resources with ALB Ingress Controller won't create load balancer
[英]Path routing for file extension in EKS AWS ALB Ingress Controller (AWS Load Balancer Controller controller)
我使用 AWS ALB 入口控制器创建了一个 EKS,并为它创建了一个入口。 但是在创建入口之后,我在访问某些文件扩展名时得到404 。 例如:main.css。 以下是我的入口代码。
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: instance
kubernetes.io/ingress.class: alb
name: my-site
namespace: my-site
spec:
rules:
-
host: my-site.com
http:
paths:
-
backend:
service:
name: my-site-front-end-service
port:
number: 80
path: /
pathType: Exact
-
backend:
service:
name: my-site-backend-service
port:
number: 3000
path: /marketing/
pathType: Prefix
我的前端应用程序需要在HTTP://my-site.com
和 URL HTTP://my-site.com/marketing/
中的后端服务可用。但是现在我得到一些 .css 文件的 404 . 文件的 URL 类似于 HTTP://my-site.com/main.css 、 HTTP://my-site.com//main-5a17625f9c68d9c60c4c.js 。 我的入口配置有什么问题?
当我在 frontend-service 部分中将路径类型更新为前缀时,所有调用都将转发到前端,因此对后端服务的调用不起作用。
您的入口端点/
是ExactMatch
类型。 因此,匹配/*
的文件将不会被匹配。 您可以将其更改为类型Prefix
,它应该可以工作。
此外,考虑将文件从路径的根目录移到/files/
之类的位置,然后使用/files
作为prefix
类型的入口路由。 这将确保/
路径保持exactmatch
,以免与其他路径混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.