我参考这里: https://blog.leancloud.cn/3437/9 用了一下websocket, 但是会一直报这个错:

error: Error: unexpected server response (302)

在本地没问题, 但deploy后有问题。

wscat -c  ws://logmon.avosapps.us/log  ## wss 也试过,都会报错

新建了一个空的应用, websocket也是deploy后无法使用,但错误代码是404。

$ curl -I logmon.avosapps.us/log
HTTP/1.1 302 Found
Content-Length: 23
Content-Type: text/plain; charset=utf-8
Date: Mon, 15 Aug 2016 03:09:58 GMT
location: /
Server: Tengine
vary: Accept
x-powered-by: Express
Connection: keep-alive

看起来是你的应用发出的重定向。

感谢老司机!

删除了重定向, 但是得到的error变成了404. 而 app.js 很简单, 如下

var AV = require('leanengine');
var express = require('express');
var wsLog = require('./routes/websocket/log');
var app = express();
var expressWs = require('express-ws');
app.use(AV.express());
expressWs(app);
app.ws('/log', wsLog);
module.exports = app;

会不会是因为 us region 的原因?

简单看了一下,这个问题确实比较奇怪,和美国节点应该没什么关系。

症状似乎是deploy后express的http路由先于ws回复了请求。

我就试试,不急

本地运行时呢?是否是 404?

并不会,是 connected.