Proxy 如何在JAMstack解决方案中代理API请求?
我正在开发一个几乎完全静态的网站。我使用一个生成器来创建所有HTML 然而,我的网站是嵌入其页面的商店的前端。我有一个小小的node.js服务器,代表浏览器代理请求到后端存储。它所做的只是提供购物车中物品的数量,这样我就可以在我的网站的所有页面上更新该数量。这是因为浏览器不允许跨域脚本。我的服务器必须充当客户机和商店之间的代理 嵌入式存储是从存储的网站加载的,因此本身不需要代理 我希望最终部署到Netlify或类似的JAMstack提供商。但我不知道我该如何代理NetlifyProxy 如何在JAMstack解决方案中代理API请求?,proxy,static-site,netlify,cross-site,jamstack,Proxy,Static Site,Netlify,Cross Site,Jamstack,我正在开发一个几乎完全静态的网站。我使用一个生成器来创建所有HTML 然而,我的网站是嵌入其页面的商店的前端。我有一个小小的node.js服务器,代表浏览器代理请求到后端存储。它所做的只是提供购物车中物品的数量,这样我就可以在我的网站的所有页面上更新该数量。这是因为浏览器不允许跨域脚本。我的服务器必须充当客户机和商店之间的代理 嵌入式存储是从存储的网站加载的,因此本身不需要代理 我希望最终部署到Netlify或类似的JAMstack提供商。但我不知道我该如何代理Netlify 这个问题的标准解决
这个问题的标准解决方案是什么?或者代理对JAMstack解决方案不可用?是否有JAMstack提供程序可以解决此问题?Netlify允许使用状态代码为200的重定向路径进行代理重写 您可以将in_重定向存储在已部署站点的根目录下。换句话说,文件需要存在于生成后要部署的站点目录的根目录中 _重定向 /api/*https://api.example.com/:splat 200 因此,呼吁:
/api/v1/gifs/random?tag=cat&api_key=your_api_key
将代理给:
https://api.example.com/v1/gifs/random?tag=cat&api_key=your_api_key
如果API支持标准HTTP缓存机制,如Etags或Last Modified标头,则响应甚至会被CDN节点缓存
注意:您也可以在netlify中使用。tomlnetlify允许使用状态代码为200的重定向路径进行代理重写 您可以将in_重定向存储在已部署站点的根目录下。换句话说,文件需要存在于生成后要部署的站点目录的根目录中 _重定向 /api/*https://api.example.com/:splat 200 因此,呼吁:
/api/v1/gifs/random?tag=cat&api_key=your_api_key
将代理给:
https://api.example.com/v1/gifs/random?tag=cat&api_key=your_api_key
如果API支持标准HTTP缓存机制,如Etags或Last Modified标头,则响应甚至会被CDN节点缓存
注意:你也可以在你的netlify.toml哦,哇。太棒了!我甚至不需要编写代理服务器。非常感谢。哦,哇。太棒了!我甚至不需要编写代理服务器。非常感谢。