繁体   English   中英

EKS AWS ALB 入口控制器(AWS 负载均衡器控制器控制器)中文件扩展的路径路由

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM