当我使用新域名(leanapp.cn)访问云函数的时候,会出现404 Error的错误,但是切换到旧域名,还是可以访问的,请问这是什么原因?

比如:http://shop-admin.avosapps.com/1.1/functions/hello 是可以的,
但是http://stg-shop-admin.leanapp.cn/1.1/functions/hello就会报错

你好,
我们确认了这个问题,正在修复

你好,/1.1/functions/hello 是云引擎的 Cloud 函数,对于这类函数,访问是必须携带 x-lc-idx-lc-key 的信息来鉴权的。

所以正确的请求应该是类似这样:

curl http://stg-shop-admin.leanapp.cn/1.1/functions/hello -H 'x-lc-id: <appId>' -H 'x-lc-key: <appKey>'

响应结果:

{"result":"Hello world!"}

那我问一下,为什么使用老域名avosapps.com的云函数就可以访问呢?
另外,我使用云函数的目的是为了可以方便的在多站点下进行web跨域请求,如果按照你说的鞋带x-lc-id之类的,这样不是暴露在header中了么?这样做不合理吧?

你好,谢谢反馈,你说的 http://shop-admin.avosapps.com/1.1/functions/hello1 可以访问其实是路由错误,我们已经修复。

云引擎的 Cloud 函数的初衷是为了在 LeanCloud 各个 SDK 中使用,让客户端代码向调用本地方法一样调用云引擎的函数,所以也走了 x-lc-id 这样的鉴权方式。

如果需要自定义 api,建议使用云引擎配合 express 框架,自己使用 router 定义 REST API,然后自己决定如何鉴权。

好的,经过测试,已经解决该问题,不过遗憾的是之前我使用过很多云函数的类似的调用目前都作废了,目前都需要重新更新为REST才能正常访问,不过还是感谢你们的更新速度,谢谢!