HTTP 访问相关
HTTP 访问报错如何排查
判断http状态码是云托管网关返回的,还是业务服务返回的。可以查看请求返回头是否有 X-Cloudbase-Upstream-Status-Code 头,如果有该头并且值和http状态码一致,说明状态码是业务服务返回。 另外如果返回报有具体的错误码,可通过云开发http访问错误码文档排查具体原因。 具体的错误码可见HTTP 访问服务错误码。
websocket 连接中断问题排查
网关层会对空闲连接进行回收,因此 websocket 连接建立后如果长时间没有数据传输,网关会主动关闭非活跃的连接,建议客户端或者服务端每隔10s发送一个心跳包; 另外客户端需要做断线重连,防止网络波动或者网关层服务重启导致的中断。如果已经做了心跳保持机制并且 websocket 连接频繁中断,可以联系我们工程师进行排查。
X-Forwarded-For 和 X-Real-IP 获取不到真实的客户端 IP
- 尝试使用 X-Original-Forwarded-For 字段来解析获取
- 自定义 header 获取
云托管是否支持 SSE
支持
- 可以通过浏览器直接访问 SSE 地址
- 可以通过 Nodejs 代码
// 1. 先安装依赖 npm install eventsource
// 2. 将下面代码命名为 main.js,执行 node main.js
const {EventSource} = require('eventsource');
const eventSource = new EventSource('你的服务域名或者自定义域名'); // 注意路径是否正确
eventSource.onopen = () => {
};
eventSource.onmessage = (event) => {
console.log('Received message:', event.data);
};
eventSource.onerror = (error) => {
};
- 您还可以通过更多的语言来实现 SSE 的交互