Spring boot 404未在每个HTTPS入口请求上找到响应

Spring boot 404未在每个HTTPS入口请求上找到响应,spring-boot,kubernetes,google-cloud-platform,google-kubernetes-engine,kubernetes-ingress,Spring Boot,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Kubernetes Ingress,我在GKE上部署了多个Spring Boot应用程序。每个Spring引导都启用并不受限制地使用执行器端点。我已经创建了一个HTTPS入口,但我只收到404个未找到的响应 服务概述: 入口YAML: apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: ingress.gcp.kubernetes.io/pre-shared-cert: mcrt-0c6bff90-d2fa-4a14-84b5-779

我在GKE上部署了多个Spring Boot应用程序。每个Spring引导都启用并不受限制地使用执行器端点。我已经创建了一个HTTPS入口,但我只收到404个未找到的响应

服务概述:

入口YAML:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.gcp.kubernetes.io/pre-shared-cert: mcrt-0c6bff90-d2fa-4a14-84b5-779c812a4c0b
    ingress.kubernetes.io/backends: '{"k8s-be-30206--3e15e15e4f605a79":"HEALTHY","k8s-be-31081--3e15e15e4f605a79":"HEALTHY","k8s-be-31129--3e15e15e4f605a79":"HEALTHY","k8s-be-31673--3e15e15e4f605a79":"HEALTHY","k8s-be-32006--3e15e15e4f605a79":"HEALTHY"}'
    ingress.kubernetes.io/https-forwarding-rule: k8s-fws-default-skitter-ingress--3e15e15e4f605a79
    ingress.kubernetes.io/https-target-proxy: k8s-tps-default-skitter-ingress--3e15e15e4f605a79
    ingress.kubernetes.io/ssl-cert: mcrt-0c6bff90-d2fa-4a14-84b5-779c812a4c0b
    ingress.kubernetes.io/url-map: k8s-um-default-skitter-ingress--3e15e15e4f605a79
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.allow-http":"false","kubernetes.io/ingress.global-static-ip-name":"skitter-ip","networking.gke.io/managed-certificates":"skitterapp.com"},"name":"skitter-ingress","namespace":"default"},"spec":{"rules":[{"host":"skitterapp.com","http":{"paths":[{"backend":{"serviceName":"business-owner-service","servicePort":80},"path":"/business-owner-service/*"},{"backend":{"serviceName":"customer-service","servicePort":80},"path":"/customer-service/*"},{"backend":{"serviceName":"staff-service","servicePort":80},"path":"/staff-service/*"},{"backend":{"serviceName":"sms-service","servicePort":80},"path":"/sms-service/*"}]}}]}}
    kubernetes.io/ingress.allow-http: "false"
    kubernetes.io/ingress.global-static-ip-name: skitter-ip
    networking.gke.io/managed-certificates: skitterapp.com
  creationTimestamp: "2020-09-20T12:10:35Z"
  finalizers:
  - networking.gke.io/ingress-finalizer
  generation: 3
  name: skitter-ingress
  namespace: default
  resourceVersion: "11344191"
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/skitter-ingress
  uid: 6b92ff0d-01a2-449f-9cd7-afdd1452e73b
spec:
  rules:
  - host: skitterapp.com
    http:
      paths:
      - backend:
          serviceName: business-owner-service
          servicePort: 80
        path: /business-owner-service/*
      - backend:
          serviceName: customer-service
          servicePort: 80
        path: /customer-service/*
      - backend:
          serviceName: staff-service
          servicePort: 80
        path: /staff-service/*
      - backend:
          serviceName: sms-service
          servicePort: 80
        path: /sms-service/*
status:
  loadBalancer:
    ingress:
    - ip: 35.241.60.223
负载平衡器详细信息(突出显示证书处于活动状态且一切正常):

测试要求:;

日志不是很有用:


我做错了什么?我希望当我发送请求skitterapp.com/customer-service/exactor/health时,入口标识/customer-service/**,并将GET请求/exactor/health传递给客户服务。但是我没有看到这种行为,从我在日志中看到的情况来看,客户服务没有收到健康请求

是否有任何rest控制器在该路径上服务,例如
/business owner service
?检查入口控制器吊舱的日志。上次我检查GKE ingress不支持像nginx ingress controller那样的重写目标时,您要求business owner服务,因为它是默认服务,可能每个请求都会发送到默认规则?/business owner服务下没有请求,除非您重写目标,否则请求将发送到该应用程序的该路径,而不是根路径。“将被发送到该应用程序的该路径而不是根路径”你能给我一个例子吗?我认为ArghyaSadhu告诉我的是,如果你发送一个如下的查询:
skitterapp.com/customer service/hello
,它将与
/customer service/hello
一起到达pod。如果使用“重写”,则只能是
hello
。您的播客中需要有什么
URL
,才能使其正常工作?