首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JAMstack解决方案中代理API请求?

如何在JAMstack解决方案中代理API请求?
EN

Stack Overflow用户
提问于 2018-11-28 01:55:20
回答 1查看 887关注 0票数 1

我正在开发一个几乎完全静态的网站。我使用生成器来创建所有的HTML。

然而,我的网站是一个前端的商店嵌入其网页。我有一个小的node.js服务器代理请求代表浏览器到后端商店。它所做的就是提供购物车中物品的数量,这样我就可以在我的网站的所有页面上更新这个数字。这是因为浏览器不允许跨域脚本。我的服务器必须充当客户端和商店之间的代理。

(嵌入式存储是从商店的网站加载的,因此它本身不需要代理。)

我希望最终能部署到Netlify或类似的JAMstack提供商。但我不知道如何在Netlify上代理。

这个问题的标准解决方案是什么?还是代理对JAMstack解决方案不可用?是否有解决此问题的JAMstack提供程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-30 20:30:46

Netlify允许使用状态代码200的重定向路径重写代理。

您可以将代理重定向存储在部署站点根目录的_redirects中。换句话说,该文件需要存在于站点目录的根目录中,以便在构建后部署。

_redirects /api/* https://api.example.com/:splat 200

所以打电话给:

代码语言:javascript
复制
/api/v1/gifs/random?tag=cat&api_key=your_api_key

将代理:

代码语言:javascript
复制
https://api.example.com/v1/gifs/random?tag=cat&api_key=your_api_key

如果API支持标准的HTTP缓存机制,如Etags或最后修改的头,那么响应甚至会被CDN节点缓存。

注意:,您也可以在netlify.toml中使用设置重定向

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53510955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档