Cloudfront выдает 504 при подключении к ELB / Elasti c Beanstalk - PullRequest
1 голос
/ 10 июля 2020

Итак, у меня есть приложение Next JS, размещенное на Elasti c Beanstalk (с его отображением на порту 3000 в файле docker). Теперь мой домен зарегистрирован в Godaddy. Первоначально у меня была настройка DNS в Godaddy, чтобы указать на Elasti c Beanstalk. Но потом я захотел использовать Cloudfront для CDN / кэширования.

Итак, я начал настраивать Cloudfront (используя эту статью ). Я создал собственный сертификат SSL и проверил его также через DNS. Я установил источник в облачном фронте так, чтобы он указывал на ELB.

Теперь, после развертывания распространения облачного интерфейса, я попытался использовать URL-адрес облачного фронта xxxxx.cloudfront.net, но получил ошибку "504 ERROR - The request could not be satisfied".

Если я go перехожу к URL-адресу ELB, я могу получить доступ к своему приложению. Итак, я не уверен, в чем проблема. Если облачный интерфейс указывает на ELB, а ELB работает, то почему URL-адрес облачного интерфейса не работает.

Любые советы / рекомендации?

1 Ответ

2 голосов
/ 10 июля 2020

Если вы получаете сообщение об ошибке 504, вы получаете тайм-аут при подключении к источнику.

Вы должны проверить следующее:

  • Разрешает ли группа безопасности для ELB входящий трафик c ни у кого (на 80/443 портах)? Если это не так, CloudFront заблокирован.
  • Вы неправильно настроили свою «Политику протокола происхождения», выбрав «Средство просмотра совпадений», она будет ожидать, что запросы HTTPS, попавшие в CloudFront, будут пытаться подключиться к источнику через HTTPS.
  • У вашего приложения время запуска превышает значение Origin Response Timeout? По умолчанию это 30 секунд.
  • Убедитесь, что источником является правильное доменное имя.

Есть дополнительные шаги для отладки 504 в CloudFront в коде состояния HTTP 504 (Тайм-аут шлюза) страница на AWS.

...