【发布时间】:2019-09-25 06:00:22
【问题描述】:
让我描述一下我今天面临的情况:
- 我收到了来自开发者的 NodeJS 应用程序映像并将其发布到 AKS(Azure Kubernetes Services)
此应用的清单中没有任何具体内容,这是在 80 端口上进行服务的简单部署。
我已经使用 helm 包配置了 Ingress,并从 helm repo 安装了一个通用的: 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 文件都有 content-type: text/html。
【问题讨论】:
标签: node.js kubernetes kubernetes-ingress