我正在通过reverse_proxy设置WebSocket连接。我终于有了Nginx的工作配置,但我更喜欢使用Apache 2。
这些是Nginx中需要的配置行:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
字符串
我试着把它们翻译成Apache 2,但似乎不起作用:
<If "%{HTTP:upgrade} == 'websocket'">
RequestHeader add Upgrade "websocket"
</If>
RequestHeader set Connection "upgrade"
型
Apache 2只是忽略这些命令。.当我更改头文件名时,它们不再被忽略,但这对我没有帮助:
RequestHeader set X-Connection "upgrade"
型
所以:Apache 2似乎忽略了对“Upgrade”和“Connection”头的更改。
(我正在使用一个调试服务器,它打印所有接收到的HTTP请求及其所有头部-所以我可以直接比较Nginx和Apache 2请求-因此我知道Apache 2忽略了我的命令。
如何在Apache 2中使用此功能?
1条答案
按热度按时间piv4azn71#
我自己找到了一个解决方案:Apache不允许设置这些头-相反,你需要使用重写引擎:
字符串
Apache将自动添加正确的“Upgrade”和“Connection”头。