首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure AKS \ Application应用网关\ Ingress _Ingress_ Backend前缀

Azure AKS \ Application应用网关\ Ingress _Ingress_ Backend前缀
EN

Stack Overflow用户
提问于 2020-06-24 15:19:40
回答 6查看 3.9K关注 0票数 0

我有点困惑路径解析端点的方式,它是否在任何日志中显示它创建的最终端点。我现在被困在这里了。下面是我想要调用的端点:

https://hostname/api/orders/employees。要通过endpoint应用程序网关调用这个端点,我就是这样配置的,但它总是返回502坏网关错误。

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ordersapi
  namespace: orders
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "wildcard.apps.com"
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
  - host: orders.apps.com
    http:
      paths:
      - path: /api/orders/employees
        backend:
          serviceName: orderservice
          servicePort: 80
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-06-30 10:07:36

最后,这个问题有两种解决办法:-

First

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ordersapi
  namespace: orders
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "wildcard.apps.com"
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
  - host: orders.apps.com
    http:
      paths:
      - path: /api/orders/employees
        backend:
          serviceName: orderservice
          servicePort: 80
      - path: /api/product/products
        backend:
          serviceName: orderservice
          servicePort: 80h

第二

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ordersapi
  namespace: orders
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-path-prefix: "/api/"
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "wildcard.apps.com"
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
  - host: orders.apps.com
    http:
      paths:
      - path: /api/*
        backend:
          serviceName: orderservice
          servicePort: 80
票数 2
EN

Stack Overflow用户

发布于 2020-06-24 19:37:35

您似乎已经启用了SSL重定向,但是您的服务是在非ssl端口上服务的。

这可以解释坏的网关。

通常情况下,Azure AppGW会返回502坏网关,如果涉及到坏的Certs,后端服务的健康检查是错误的,还有其他原因

你应该看看这个:

https://support.microsoft.com/en-ca/help/4504111/azure-application-gateway-with-bad-gateway-502-errors

还有这个

https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-troubleshooting-502

票数 1
EN

Stack Overflow用户

发布于 2020-12-11 08:46:05

我也有同样的问题。我的入口设置就像:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-name
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
spec:
  rules:
  - host: <myhostname>
    http:
      paths:
      - path: /api*
        backend:
          serviceName: backend-app
          servicePort: 80
      - path: /
        backend:
          serviceName: frontend-app
          servicePort: 80

如果我定义了像/api/todolist这样的路径,端点就能正常工作。另一方面,如果我使用/api*,我的请求将被重定向到前端应用程序。

问题是后端存在端点/api/todolist,返回状态为200,对于/api端点,我没有设置任何东西,因此获得了404状态。

在我的例子中,我需要在/api编辑点下添加healthcheck,返回正确的http状态:),返回字符串"Healthy“就足够了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62558442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档