Sailsjs:WebSocket握手期间出错:意外的响应代码:400

时间:2019-08-20 12:47:47

标签: javascript websocket sails.js csrf

Sails 1版本给出以下错误,并在尝试登录而不是转到欢迎页面时重定向到登录屏幕。

  

400错误的请求

ws://xyz.com/socket.io/?__sails_io_sdk_version=1.2.1&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript&EIO=3&transport=websocket

另一个错误:

  

403禁止请求

无法注册或登录。暂时在security.js中禁用了csrf,但至今未找到解决方案。

有人遇到过这样的问题吗?我是否可以从应用程序级别知道此修复程序是否可行,还是我们需要修改apache设置?

1 个答案:

答案 0 :(得分:0)

  

通过在Apache配置中添加以下代码:

RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:1337/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:1337/$1 [P,L]

ProxyPassReverse / http://localhost:1337/

问题已解决

在配置文件中进行更改后,运行以下命令以检查apache的语法。

httpd -t

语法正确后,使用以下命令重新启动apache

service httpd restart