gpt4 book ai didi

node.js - Kubernetes 入口 : NodeJS application shows blank page

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:08 25 4
gpt4 key购买 nike

让我描述一下我今天遇到的情况:

  1. 我从开发人员那里收到了 NodeJS 应用程序镜像并将其发布到 AKS(Azure Kubernetes 服务)

此应用程序的 list 中没有任何具体内容,这是在 80 端口上提供服务的简单部署。

  • 我已经使用 helm 包配置了 Ingress,并安装了 helm 存储库中的常用包: stable/nginx-ingress 。安装后 - 我已经开始配置 Ingress。

  • 在我的 yaml 下方:

  • apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: app-ingress
    annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    spec:
    rules:
    - http:
    paths:
    - backend:
    serviceName: ui-service
    servicePort: 80
    path: /(.*)
    - backend:
    serviceName: ui-service
    servicePort: 80
    path: /test-service/ui(/|$)(.*)

    好的,我正在尝试打开页面:http://1.2.3.4/ - 一切正常,我看到网页将我重定向到:

    http://1.2.3.4/page1 ,如果我点击了某些东西 - http://1.2.3.4/page2等等

    但是,当我尝试使用以下命令打开同一个 Web 应用程序时:

    http://1.2.3.4/test-service/ui ,我在控制台中看到空白页和错误:

    Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://1.2.3.4/test-services/ui/static/css/test.css".

    我发现有什么不同:

    在第二种情况下,所有 JS 和 CSS 文件都具有内容类型:text/html。

    最佳答案

    让我描述一下我是如何解决这个问题的:

    在 YAML 设置中,您可以看到 nginx.ingress.kubernetes.io/rewrite-target:/$1

    因此,对于根路径目录和应用程序 - 应该是:

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

    例如.com/example/

    应该是:

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

    等等

    现在,网页已正确显示。

    关于node.js - Kubernetes 入口 : NodeJS application shows blank page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58073916/

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