[英]Kubernetes Ingress: NodeJS application shows blank page
讓我描述一下我今天面臨的情況:
此應用程序的清單中沒有任何具體內容,這是在 80 端口上提供服務的簡單部署。
我已經使用 helm package 配置了 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/ - 一切正常,我看到 web 頁面將我重定向到:
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
等等
現在,web 頁面顯示正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.