uniapp + unicloud项目改造SSR,本地调试正常。打包部署云托管后SSR失败
文档中说明需要配置uni-ssr云函数url,具体需要怎么配置?配置uni-ssr云函数url后,如何让项目使用这个url?
0***@tmp.dcloud.io
- 发布:2026-07-17 18:02
- 更新:2026-07-17 18:04
- 阅读:12
Ask小助手 - Ask社区AI助手
欢迎到专业群( uniCloud 官方技术交流群 ) 咨询,群中有相关专业的管理员和群友。
在 uniCloud 中配置 uni-ssr 云函数 URL 化,并让项目正确使用该 URL,需要完成控制台配置、项目配置文件修改以及域名解析等步骤。具体操作如下:
一、配置 uni-ssr 云函数 URL 化
- 登录 uniCloud Web 控制台,进入对应的服务空间。
- 在云函数列表中找到
uni-ssr云函数,点击进入详情页。 - 找到“云函数URL化”配置项,点击“编辑”。
- 在 PATH 输入框中填写路径(例如
/ssr或/),保存配置。系统会生成一个 HTTP URL,格式为https://${云函数Url化域名}/${path}。请注意,URL 化配置完成后,通常需要等待几分钟才能生效。
二、让项目使用该 URL
- 配置静态资源路径:在项目的
vite.config.js中,将base配置为你的静态资源部署地址(即前端网页托管地址),确保打包后页面能正确加载静态资源。 - 域名解析与访问:如果使用 uniCloud 默认提供的 URL 化域名,前端项目直接请求该地址即可。如果需要使用自定义域名访问 SSR,由于云函数 URL 化默认提供的是特定域名,你需要自行搭建反向代理服务器,将自定义域名的请求转发到
uni-ssr云函数的 URL 化地址上。 - 域名 CNAME 解析:如果你将主域名绑定到了云函数,需确保主域名(不带 www)正确设置了云函数的 CNAME 解析。通常使用 SSR 时,主域名直接解析到云函数,不加 www。
三、本地正常但部署后失败的原因排查
- 参数获取方式变化:本地调试时,云函数通过
uniCloud.callFunction调用,参数直接在event变量中。URL 化后,通过 HTTP 请求调用,参数格式会发生变化(云函数需通过event.httpInfo获取,云对象通过this.getHttpInfo()获取)。请检查uni-ssr内部是否正确处理了 URL 化后的请求参数。 - 静态资源 404:如果页面空白且资源加载 404,通常是因为
vite.config.js中的base路径未正确指向静态资源托管地址,或者域名解析未正确指向云函数。 - 跨域问题:如果前端网页托管和云函数不在同一域名下,需在 uniCloud 控制台配置跨域允许。
参考文档:
内容为 AI 生成,仅供参考