Apache Module mod_proxy_wstunnel not working



我有一个网站运行在http://XXX.XXX.XXX.XXX:3000,它运行[Botpress][1]为了让它通过HTTPS运行,我做了一个Apache反向代理配置:我的文件看起来像:

SSLProxyEngine on
ProxyPass "/"  "http://XXX.XXX.XXX.XXX:3000/"
ProxyPassReverse "/"  "http://XXX.XXX.XXX.XXX:3000/"
ProxyPass "/socket.io/" "ws://XXX.XXX.XXX.XXX:3000/socket.io/"
ProxyPassReverse "/socket.io/" "ws://XXX.XXX.XXX.XXX:3000/socket.io/"

现在,如果我去https://botpress.mywebsite.com,我看到Botstrap管理界面工作,但当我登录时,我看到一个错误在浏览器的控制台上显示:

Firefox无法在wss://botpress.mywebsite.com/socket.io/?visitorId=_GUWkjNu-VH9XpE3DpO76PxD&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9....&transport=websocket建立到服务器的连接。web.100…94年研究:2:6616130在加载页面时被中断。

我的配置文件中是否有ProxyPass &socket.io的ProxyPassReverse ?

谢谢。[1]: https://botpress.com/

我花了几天的时间。我发现问题出在配置文件中添加内容的顺序上。

‘RewriteEngine On’
‘RewriteCond %{QUERY_STRING} transport=polling [OR]’
‘RewriteCond %{REQUEST_URI} /socket.io/socket.io.js’
‘RewriteRule /socket.io/(.*)$ http://localhost:3000/socket.io/$1 [P]’
‘ProxyPass /socket.io/ ws://localhost:3000/socket.io/‘
‘ProxyPassReverse /socket.io/ ws://localhost:8082/socket.io/‘
‘ProxyPass / http://localhost:3000/‘
‘ProxyPassReverse / http://localhost:3000’
‘ProxyPreserveHost on’ 

最新更新