首页 > 解决方案 > Ionic Web 应用程序页面未使用 Ingress Controller 打开

问题描述

我有由 Google K8s 集群运行的 Ionic 5.0 Web App。我正在使用 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

我可以使用以下 url 访问应用程序:

我没有得到这里的配置有什么问题。请帮忙。

####编辑####

我的 Web 应用程序部署在 pod 上并具有以下 URL,并且通过服务“webapp-frontend”公开:

我想要的是当用户点击浏览器上的 url 时应该发生以下情况:

标签: angularionic-frameworkkuberneteskubernetes-ingressnginx-ingress

解决方案


有一些事情你应该看看:

  • extensions/v1beta1Kubernetes 版本 1.16 不再提供 API 版本中的 NetworkPolicy 。你应该networking.k8s.io/v1beta1改用。

  • 您正在使用rewrite 注释并根据您的配置它应该:

http://1.2.3.4/webapp改写为http://1.2.3.4/

http://1.2.3.4/webapp/改写为http://1.2.3.4/

http://1.2.3.4/webapp/login改写为http://1.2.3.4/login

您需要确保您的 Ingress 访问的是正确的 URL。配置本身看起来不错。错误可能在您想要实现的重写背后的逻辑中。如果需要,请参阅链接的文档。如果它仍然没有按预期工作,请编辑您的问题并提供更多详细信息(应该在哪里重写等)。

这应该从 Kuberentes 方面解决您的问题。请让我知道这是否有帮助。


推荐阅读