当前位置: 首页 > 知识库问答 >
问题:

Kubernetes入口未清理路径

那利
2023-03-14

我的服务器中有此入口。

kind: Ingress
metadata:
  name: mycompany-production
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
spec:
  tls:
    - hosts:
        - ra2.mycompany.com.br
      secretName: ra-production-us2-certmanager-certificate
  rules:
    - host: ra2.mycompany.com.br
      http:
        paths:
          - path: /
            backend:
              serviceName: mycompany-production-deployment-nodeport
              servicePort: 80
          - path: /conteudo/
            backend:
              serviceName: seo-production-deployment-nodeport
              servicePort: 80

事实上,当我给ra2打电话的时候,我希望是这样。我的公司。通用域名格式。br/conteudo/health,例如,它触及seo生产部署节点port/health,但它将访问seo生产部署节点port/conteudo/health,并收到404答案。

在我的入口中查看它似乎没有错误。我只是不知道为什么它没有按预期“清理”路径。正常/路径中的请求正在按预期发生。

共有1个答案

丌官玺
2023-03-14
      - path: /conteudo/
        backend:
          serviceName: seo-production-deployment-nodeport
          servicePort: 80

您正在点击ra2.mycompany.com.br/conteudo/health,因此它当然会转到这个后端,如入口规则中定义的那样。

nginx。进入。库伯内特斯。io/重写目标:/只意味着url中的被转发到后端的//code>,与规则中设置的路径匹配,而与服务的规则不匹配

为了便于理解:当你运行一个只服务于基本路径下的所有内容的网络服务器时,比如说/mysite,但是你不希望使用你入口的人看到 /mysite/你设置了nginx.ingress.kubernetes.io/rewrite-target: /mysite,如果他们点击了

 类似资料:
  • 我看到了一些示例,其中Kubernetes集群安装了ingress控制器,然后ingress类添加了注释和主机,如下所示。 我不确定安装了哪个服务,哪个IP配置了DNS“k8s.privatecoud.com”,以便路由请求?DNS路由“k8s.privatecoud.com”如何将请求路由到Kubernetes集群?kubernetes桥的入口是如何工作的? 此外,可以使用主机规则配置许多服务,

  • 我有以下入口设置: 当我点击时,我被重定向到,并带有NGINX 404未找到。 根据日志,可以看到< code>grafana窗格被查询命中: logger = context traceID = 0000000000000000000000000000 userId = 0 orgId = 0 uname = t = 2022-10-13t 16:19:57.989170173 z level

  • 我试图将spring boot admin接口添加到kubernetes集群中部署的一些微服务中。spring boot admin应用程序具有以下配置: kubernetes集群有一个入口,用作api网关: 我如何解决这个问题并配置一个传统路径来为来自正确URL的请求中的静态内容提供服务? 提前致谢

  • 我正在尝试从入口规则中删除一个后端路径,但无法使其正常工作。 这就是我尝试删除它的方式: 当我查看日志时,我可以看到它找到了路径并输出了以下内容: 已删除入口路由可选[HTTPIngressPath(backend=IngressBackend(serviceName=my-service-6,servicePort=IntOrString(IntVal=8080,Kind=null,StrVal

  • 有人能帮我走台阶吗...(我在互联网的帮助下尝试了多种方法...不知道我错过了什么?) 注意:根据讨论论坛,我在ingress YAML的部署部分中添加了“hostnetwork:true”来解决“没有主机参数不能工作”,并注释了“type:nodeport”。 更新信息: kubectl描述了更新后的入口路由:在这里,我有ngnix--它工作得很好(我猜ingress和nginx都在相同的命名空

  • 名为“selfsign”的群集颁发者 由秘密“测试”支持的有效自签名证书 正常运行的nginx入口部署 一个健康运行的负载平衡器型入口服务