Ingress 背后的两个 swagger API asp.net core

问题描述

我有两个 swaggers API,它们有两个单独的实现,它们都部署在入口控制器类型 Nginx 后面的 K8s 中。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
Metadata:
  name: test-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: "Nginx" 
    cert-manager.io/cluster-issuer: "prod_issuer"
    Nginx.ingress.kubernetes.io/ssl-redirect: "true"
    Nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    Nginx.ingress.kubernetes.io/default-backend: Nginx-errors
    Nginx.ingress.kubernetes.io/custom-http-errors: '403,404,503,400,500'
spec:
  tls:
  - hosts:
    - test.com
    secretName: letsencrypt-prod
  rules:
  - host: test.com
    http:
      paths:
      - path: /
        backend:
          serviceName: ServiceA
          servicePort: 80
      - path: /swagger
        backend:
          serviceName: ServiceA
          servicePort: 80
      - path: /swaggerTwo
        backend:
          serviceName: ServiceB
          servicePort: 80

我目前的创业班看起来像

  app.UseSwaggerUI(c =>

            {
                c.DocumentTitle = "Test ServiceB API";
                c.DocExpansion(DocExpansion.None);
                c.SwaggerEndpoint("/swagger/v1/swagger.json","ServiceB API");
            }); 

basePath 为两个(swaggers)服务配置为:https://test.com/swagger

如何根据服务名称路由到不同的 swagger UI?现在只有 serviceA 在工作? 同时运行并包含 api 调用的最佳做法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)