【问题标题】:Sailsjs: Error during WebSocket handshake: Unexpected response code: 400Sailsjs:WebSocket 握手期间出错:意外的响应代码:400
【发布时间】:2019-08-20 12:47:47
【问题描述】:

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 设置?

【问题讨论】:

标签: javascript websocket sails.js csrf


【解决方案1】:

通过在 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

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 1970-01-01
    • 2019-08-05
    • 2018-02-23
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多