Развертывание SSR Nuxt.js на AWS Lambda с Cloudflare? - PullRequest
1 голос
/ 02 мая 2019

Я пытаюсь реализовать серверную (vless.js) сторону веб-магазина, похожую на подобную, через nuxt.js на AWS Lambda, поддерживаемой Cloudflare.

Я предпочитаю 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. Создание CNAME для Lambda, предоставляемого Cloudfront, но я не уверен, вызовет ли это еще одну поездку в 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. Другое решение может заключаться в том, что я собираю nuxt.js непосредственно в Cloudflare Worker, но я не уверен ни в каких недостатках этого решения, поскольку время работы процессора в Pro Plan очень ограничено? `

Кроме того, я прочитал статью о необходимости защиты API-шлюза от злоумышленников, разрешив только IP-адреса Cloudflare.

Кто-нибудь из вас уже установил Vue + Nuxt с Cloudflare? Я открыт для любых других предложений или идей.

Большое спасибо! Philipp

1 Ответ

1 голос
/ 02 мая 2019

Я не уверен, где правильно интегрировать Cloudflare.

Предполагая, что это суть вопроса здесь, это то, на что это могло бы быть похоже, используя предоставленную вами запись.

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

Основная идея заключается в том, что вы захотите, чтобы Cloudflare был первым, что разрешает ваш DNS (Route53), чтобы он мог правильно обслуживать кэшированный контент до того, как достигнет вашего приложения. Который в этом случае будет начинаться с API Gateway.

...