【发布时间】:2019-10-28 05:15:16
【问题描述】:
我在具有 Cent OS 7.x 和 Apache 2.4.6 (CentOS) 的 VM 上安装了 NodeRed。
如果我打开 URL http://10.1.1.1:1880/ ,一切正常。我可以部署节点并查看调试。但我需要一个特殊位置的 Node Red。
下一步是在我的 httpd.conf 中配置代理通行证。
结果:节点 Red 在 http://10.1.1.1/nr/ 下可用。但几秒钟后,我收到以下错误消息。
Lost connection to server, reconnecting in 44s. Try now
然后我尝试了同样的方法,还将端口配置添加到 443,
结果:节点 Red 在https://10.1.1.1/nr/ 下可用,并且工作了几秒钟。然后出现相同的错误信息(+ 或 – 几秒钟)
Lost connection to server, reconnecting in 54s. Try now
然后我在浏览器中检查了控制台 错误代码:
WebSocket connection to 'ws://10.1.1.1/nr/comms' failed: Error during WebSocket handshake: Unexpected response code: 404 a @ red.min.js:16
好的,看来这是WebSocket的问题。 如果有人有想法,那太好了,因为我尝试了不同的解决方案,添加了加载模块,但目前还没有真正的想法。一切顺利。
ps:这是我在 httpd.conf 中的代理密码设置
<VirtualHost *:80>
ServerName 10.1.1.1
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:1880/$1 [P,L]
ProxyPass /nr/ http://127.0.0.1:1880/ timeout=360
ProxyPassReverse /nr/ http://127.0.0.1:1880/
</VirtualHost>
【问题讨论】:
-
使用您在 apache 配置中的代理通行证设置编辑问题。这很可能是因为您没有启用 WebSocket 代理。