【发布时间】:2017-05-16 02:53:45
【问题描述】:
我正在使用 AWS,我已经使用 dynamodb、api gateway 和 cognito 设置了一个简单的 REST API。我已经使用 node + express 编写了 REST API。
我的节点应用程序在 EB 上,基本上我使用 cognito 处理 API 网关中的请求身份验证。作为一个独立的,这似乎工作正常,因为我正在使用一个简单的反应应用程序对其进行测试。
现在我正在为我的实际 React 应用程序进行服务器端渲染,因此我正在尝试找出处理此问题的最佳方法。对于服务器端渲染,我有另一个名为 react-app-server 的节点应用程序,我想处理 API 网关上的缓存并使用 cloudfront 来提供静态文档、图像等。
所以如果我去www.mysite.com/for-sale/some-item-thats-for-sale,这个请求应该首先检查是否有这个页面的缓存版本并提供它。否则,我需要让我的 react-app-server 呈现 .html 并提供/缓存它。由于有两个节点应用程序,api-server 和 react-app-server,我如何从我的 api-gateway 指向 react-app-server 以呈现 html?
这个场景如何适应 AWS 架构?我意识到这可能是一个非常愚蠢的问题,但我对此真的很陌生。谢谢
【问题讨论】:
-
为什么要让 API Gateway 提供 HTML 服务?
-
抱歉给您带来了困惑。正如我所提到的,我只是第一次接触这几天,这对我来说有点尴尬,因为这是全新的。我试图弄清楚如果缓存中不存在页面,如何处理必须第一次呈现页面。为此,我是否必须以某种方式打我的
react-app-server,这就是我的断开连接。所以我正在考虑使用 Lambda 来执行我的渲染函数,该函数将渲染 HTML 并将其添加到缓存中,但我不确定这是否是正确的方法。 -
HTML 是如何被准确缓存的?
-
现在我将它们存储在节点的内存中。
标签: node.js amazon-web-services reactjs aws-api-gateway