而不是添加protocols h2 http/1.1
我的所有 45 个VirtualHost *:443
块,我想知道是否有办法检查适当的条件,然后protocols
根据它进行设置?我认为,但不是 100% 肯定,适当的测试应该是查看请求是否针对 https。不过,也许我应该测试端口?
这是我到目前为止所得到的,但它不起作用。
Define PROTOCOLS "http/1.1"
<If "%{HTTPS} == 'on'">
Define PROTOCOLS "h2 http/1.1"
</If>
Protocols ${PROTOCOLS}
编辑
Protocols
在目录上下文中不起作用。
编辑 2
我只是不认为这是可能的,因为如果该Protocols
指令在全局范围内定义,则不能像这样动态修改。服务器已经解析了指令。设置好了。如我错了请纠正我。
从文档中:
Protocols
在服务器配置中是允许的,而不仅仅是在虚拟主机中。只需在 VirtualHost 之外设置一次,即可为整个服务器设置。然后,您可以在 VirtualHost 定义中省略它。一个非常简单的配置是: