【问题标题】:KONG API GW. How to redirect http response to httpsKONG API GW。如何将http响应重定向到https
【发布时间】:2021-02-22 10:58:20
【问题描述】:

我们有将文件传输到 ui 的后端服务。然而,我们的结构是分层的,其中 UI 发出 https 请求以获取相关文件,并且后端服务向另一个后端服务发出 http 请求。然后响应作为 http 流发送。因此,我们在 Chrome 而不是 firefox 上收到网络失败错误。这是现有流程的简单结构。

我们如何克服这个失败的网络错误?我们认为原因是 https 请求是用 http 流响应的。你怎么看?

【问题讨论】:

    标签: google-chrome http kubernetes https kong


    【解决方案1】:

    我认为 https 和 http 的响应没有任何区别。我有很多用于 https 请求但 http 响应的用例。

    "curl -X GET "http://httpbin.org/anything" -v" 和 "curl -X GET "https://httpbin.org/anything" -v" 的响应头完全相同。

    你检查过kong的错误日志吗?

    【讨论】:

      【解决方案2】:

      我在 Kong 中配置 ingres 就像

      apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
        annotations:
          kubernetes.io/ingress.class: kong
          #configuration.konghq.com: https-only
          cert-manager.io/cluster-issuer: konga
          kong.ingress.kubernetes.io/proxy-read-timeout: "1800"
          kong.ingress.kubernetes.io/proxy-send-timeout: "1800"
          kong.ingress.kubernetes.io/rewrite-target: /
          kong.ingress.kubernetes.io/proxy-body-size: "50m"
          kong.ingress.kubernetes.io/force-ssl-redirect: "true"
          ingress.kubernetes.io/force-ssl-redirect: "true"
        name: konga-ingress
      spec:
        rules:
        - host: konga.test.tk
          http:
            paths:
            - backend:
                serviceName: konga
                servicePort: 80
        tls:
        - hosts:
          - konga.test.tk
          secretName: konga
      

      在后台,我曾经发送纯 HTTP 请求,SSL termination 发生在 API gateway 或者我们可以说 ingress 级别。您还可以查看 Kong 部署的日志,这可能是由于 Timeout 问题或 size 限制造成的。

      我使用 kong 作为入口控制器,但是如果您作为控制器或 API 网关运行,您可以根据需要在后台更改配置。

      【讨论】:

        猜你喜欢
        • 2018-11-07
        • 2015-04-23
        • 2010-09-05
        • 1970-01-01
        • 2021-04-10
        • 2014-06-11
        • 2014-10-10
        • 1970-01-01
        相关资源
        最近更新 更多