gpt4 book ai didi

Kubernetes Ingress 未加载静态 Assets

转载 作者:行者123 更新时间:2023-12-02 12:15:17 24 4
gpt4 key购买 nike

我有一个 ReactJS 前端,Spring 启动后端应用程序部署在运行 Kubernetes Ingress 的裸机 Kubernetes 集群上,请求由 HAProxy 代理到它。访问应用程序的 URL 时,我可以看到它加载了应用程序的 index.html,但对静态 Assets 的所有其他请求都没有正确完成。

我的应用程序的入口资源:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: app
name: app-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$3
spec:
rules:
- host: devops
http:
paths:
- path: /dev/app1(/|$)(.*)
backend:
serviceName: app1
servicePort: 80

在检查使用 Chrome 开发者工具加载的页面时,我看到有 6 个对静态 Assets 的传出调用。检索应用程序 index.html 的调用成功完成,但检索静态 Assets 的调用(例如:http://devops/dev/app1/static/js/4.2761693d .chunk.js) 无法正常工作,因为它还会检索 index.html 页面。 (基本上只有index.html页面被所有调用服务)

我有一种感觉,这是因为 nginx.ingress.kubernetes.io/rewrite-target 注释,但删除它甚至在 index.html 上也会导致 404页面。

我正在使用 nginx 入口 Controller 0.25.1

编辑:

这是当我执行到容器中并运行 curl localhost:8080/dev/app1/static/js/4.2761693d.chunk.js 时的输出(错误回退页面)

enter image description here

这是我运行 curl localhost:8080/tatic/js/4.2761693d.chunk.js 时的输出(正确加载了 css)

enter image description here

最佳答案

不知何故,当我将重写注释更改为此时,它起作用了:

nginx.ingress.kubernetes.io/rewrite-target:/$2

我没有改变任何东西。

现在可以在 devops/dev/app1/ 访问该应用程序(但如果末尾没有 / 则无法运行)

我不确定这是如何工作的。我背后没有任何逻辑,我只是​​更改入口文件中的值以查看是否有任何效果。

谁能解释一下它为什么有效?

关于Kubernetes Ingress 未加载静态 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57523726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com