【问题标题】:Can I enable HTTP/2 on OpenShift?我可以在 OpenShift 上启用 HTTP/2 吗?
【发布时间】:2016-04-20 06:40:17
【问题描述】:

我可以为托管在 OpenShift 上的网站启用 HTTP/2 吗?

我知道你可以使用 CloudFlare 作为代理,然后它将提供对 HTTP/2 的支持。但我感兴趣的是能够在 OpenShift 上精确配置我的应用程序。

【问题讨论】:

    标签: openshift h2 saas spdy http2


    【解决方案1】:

    不,你不能。

    希望有一天这个答案会是错误的,并且有人会根据坎宁安定律纠正我。

    【讨论】:

      【解决方案2】:

      有希望!

      Openshift 3 本身有一个 HAProxy 的依赖项不支持 H/2,所以很遗憾几乎没有支持。希望部分支持 HTTP/2。你可以关注这个GitHub issue,看看他们是否会考虑换掉 HAProxy。

      从提到的问题:

      其实状态也不算太差。当公共路由使用直通 TLS 终止策略时,我们让 HTTP/2 正常工作。

      所以:

      pod 之间的 H2 工作(使用 TLS) pod 之间的 H2C 工作(带和不带 TLS 的 H2C) 公共路由后面的 H2 要求路由 TLS 终止是“直通”的 公共路由后面的 H2C 需要相同并且在服务器端启用 SSL

      HAProxy 本身也承诺将 HTTP/2 作为其下一个版本的主要焦点(我们被嘲笑希望 H/2 支持 1.7 版,但它没有发生)。如果您想了解更多有关 HAProxy H/2 支持的信息,请参阅 SO answerDiscourse discussion

      【讨论】:

        【解决方案3】:

        从 OpenShift 3.11 开始,您可以使用环境变量 ROUTER_ENABLE_HTTP2 启用它,请参阅 https://docs.openshift.com/container-platform/3.11/release_notes/ocp_3_11_release_notes.html#ocp-311-haproxy-enhancements

        实现 HAProxy 路由器 HTTP/2 支持(终止于路由器)。

        $ oc set env dc/router ROUTER_ENABLE_HTTP2=true
        

        【讨论】:

          【解决方案4】:

          HTTP/2 已在 OpenShift 4.5 上出现! https://docs.openshift.com/container-platform/4.5/networking/ingress-operator.html#nw-http2-haproxy_configuring-ingress

          TL;DR 在整个集群上启用 HTTP/2:

          $ oc annotate ingresses.config/cluster ingress.operator.openshift.io/default-enable-http2=true
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-04-20
            • 2017-10-05
            • 1970-01-01
            • 2019-02-28
            • 2017-04-23
            • 1970-01-01
            • 2011-11-10
            相关资源
            最近更新 更多