【问题标题】:Deploying SSR Nuxt.js on AWS Lambda with Cloudflare?使用 Cloudflare 在 AWS Lambda 上部署 SSR Nuxt.js?
【发布时间】:2019-09-20 22:13:18
【问题描述】:

我正在尝试通过 nuxt.js 在由 Cloudflare 支持的 AWS Lambda 上实现一个 vue.js 服务器(-less)端呈现的 webshop-a-like-site。

我更喜欢 Cloudflare 而不是 Cloudfront,因为 http/3、图像优化功能、针对攻击的安全性、brotli 以及 Cloudflare 开箱即用的一些其他功能。

不幸的是,如果有人以前这样做过,我找不到任何资源以及要注意什么才能正常工作。

现在我的设置是这样的:

User -> Route53 -> AWS API Gateway -> AWS Lambda
 -> S3 (for static files)
 -> another AWS Lambda for dynamic data from Elasticsearch indexes

我不确定在哪里正确集成 Cloudflare。

`我发现了一篇博文和主题:

  1. 使用 Cloudflare Workers 而不是 AWS API Gateway https://news.ycombinator.com/item?id=16747420
  2. 为 Cloudfront 提供的 Lambda 创建 CNAME,但我不确定这是否会触发到 Cloudfront 的另一次往返和额外费用? https://forums.aws.amazon.com/thread.jspa?threadID=261297
  3. 将子域连接到 API 网关 https://medium.com/@bobthomas295/combining-aws-serverless-with-cloudflare-sub-domains-338a1b7b2bd
  4. 另一个解决方案可能是我直接在 Cloudflare Worker 中构建 nuxt.js,但我不确定此解决方案的任何缺点,因为 Pro Plan 中的 CPU 时间非常有限? `

此外,我还阅读了一篇文章,介绍了需要通过仅允许 Cloudflare IP 来保护 API 网关免受攻击者的攻击。

你们中有人已经用 Cloudflare 设置了 Vue + Nuxt 吗?对任何其他建议或想法持开放态度。

非常感谢! 菲利普

【问题讨论】:

    标签: amazon-web-services vue.js nuxt.js cloudflare serverless-framework


    【解决方案1】:

    我不确定在哪里正确集成 Cloudflare。

    假设这是问题的症结所在,这就是使用您提供的符号时的样子。

    User -> Route53 -> Cloudflare -> AWS API Gateway -> AWS Lambda -> S3 -> Another lambda
    

    基本理念是您希望 Cloudflare 成为您的 DNS (Route53) 解析的第一件事,以便它可以在缓存内容到达您的应用程序之前正确地提供服务。在这种情况下,将从 API Gateway 开始。

    【讨论】:

    • 在这个解决方案中,我会多添加一个跃点:route53 cloudflare。我希望我能保持在 evem 的跳数上减少它。所以想要实现:`User -> Cloudflare -> AWS API Gateway -> Lambda ...`or`User -> Cloudflare -> Cloudflare Worker -> Lambda ...`但不确定是什么到目前为止最好的方式,所以我希望也许有人有经验:)
    • 实际上没有办法解决添加额外的跃点。无论您使用哪种解决方案,都需要进行 DNS 查找,即使您不使用 route53 作为 DNS。添加 Cloudflare 的好处是,如果用户请求缓存页面,您的流程将变为:User -> Route53 -> Cloudflare 因此,您可以承受额外的跳跃,以换取在经常访问的资源上获得更好的性能。如果您已经在构建/熟悉 API Gateway 和 Lambda,添加 Cloudflare Workers可能会变得不必要的复杂性。
    • 您好,Erik,再次感谢您的反馈。我并没有真正获得使用 Route53 而不是 Cloudflare 来处理 DNS 的优势? User -> Route53 -> Cloudflare -> API Gateway 相比:User -> Cloudflare -> API Gateway 对我来说看起来更好,但我觉得我错过了 smth :)
    • 让 Cloudflare 处理您的 DNS 也完全没问题!我唯一的一点是,无论如何,DNS 查找总会发生。如果你走 cloudflare 路线,你的有效流程最终会是:User -> Cloudflare DNS -> Cloudflare CDN -> API Gateway。提供商之间的跃点数保持不变,唯一改变的是这些跃点的产生位置。无论哪种方式,您的 Cloudflare CDN 都应该位于您的 DNS 提供商和您的实际应用程序之间。
    猜你喜欢
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多