簡體   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