【发布时间】:2020-08-12 20:58:13
【问题描述】:
我在 Google K8s 集群上运行了 Ionic 5.0 Web 应用程序。我正在使用 Nginx 入口控制器。为其配置了以下入口资源以使其可访问:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gateway-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/use-regex: true
spec:
rules:
- http:
paths:
- path: /webapp/(/|$)(.*)
backend:
serviceName: webapp-frontend
servicePort: 80
我可以使用以下网址访问应用程序:
- http://1.2.3.4/webapp 工作正常,页面正在打开
- http://1.2.3.4/webapp/ 工作正常,页面正在打开
- http://1.2.3.4/webapp/login。不起作用,出现“未找到。在此服务器上未找到请求的 URL。”
我没有得到这里的配置有什么问题。请帮忙。
####EDIT####
我的 Web 应用程序部署在 pod 上并具有以下 URL,并且通过服务 'webapp-frontend' 公开:
我想要的是当用户点击浏览器上的 url 时应该发生以下情况:
- http://1.2.3.4/webapp --> 应该重写为 http://1.2.3.4/webapp/login(正在发生)
- http://1.2.3.4/webapp/ --> 应该重写为http://1.2.3.4/webapp/login(正在发生)
- http://1.2.3.4/webapp/login --> 应该重写为 http://1.2.3.4/webapp/login(这不会发生)
【问题讨论】:
-
你运行的是哪个版本的k8s?
-
@OhHiMark 它的 1.16.8-gke.15。
标签: angular ionic-framework kubernetes kubernetes-ingress nginx-ingress