我可以为OpenShift上托管的网站启用HTTP / 2吗?
我知道你可以使用CloudFlare作为代理,然后它将提供对HTTP / 2的支持。但我感兴趣的是能够在OpenShift上精确配置我的应用程序。
答案 0 :(得分:4)
不,你不能。
希望有一天这个答案会出错,根据坎宁安定律,有人会纠正我。
答案 1 :(得分:1)
有希望!
Openshift 3本身具有HAProxy的依赖性,不支持H / 2,所以不幸的是,它几乎没有支持。希望部分支持HTTP / 2。您可以关注这个GitHub issue,看看他们是否考虑更换HAProxy。
从上述问题:
实际上,状态并不算太差。当公共路由使用传递TLS终止策略时,我们使HTTP / 2工作。
所以:
pod之间的H2工作(使用TLS) 豆荚之间的H2C工作(有和没有TLS的H2C) 在公共路线后面的H2要求路由TLS终止是“直通” 公共路由后面的H2C需要相同并且在服务器端启用SSL
此外,HAProxy本身承诺将HTTP / 2作为他们下一个版本的主要关注点(我们对于版本1.7的H / 2支持抱有希望,但它没有发生)。如果您想了解有关HAProxy H / 2支持的更多信息,那么有一个很有希望的SO answer和一个Discourse discussion。
答案 2 :(得分:0)
从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
答案 3 :(得分:0)
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