Проблема с CloudFront и решение с Bing AI/Chat: мой опыт
Хочу поделиться с вами историей о том, как совсем недавно чат-бот на основе GPT-4, а именно Bing AI/Chat, помог мне быстро понять в чем проблема на продакшен-деплойменте и оперативно ее исправить.
Стек технологий у нас следующий:
• Сайт задеплоен в AWS
• Сайт разработан на React, NextJS, NodeJS
Процедура конфигурации домена достаточно типовая. У нас есть пошаговая инструкция и специальный сервис, который помогает в деплойменте. Этот сервис для продакшен-деплойментов создает AWS CloudFront и затем с его помощью назначает доменное имя.
Мы все сделали довольно быстро, за 30 минут. Но когда мы попробовали открыть сайт на новом домене, мы обнаружили странную и крайне неприятную проблему.
Если я в браузере вводил домен сайта (например, andybor.blogspot.com), то сайт не открывался. Как показали дев-тулы браузера, сайт в таком случае шлет постоянно редирект с кодом 308. Что еще более интересно, если открыть тот же самый сайт, но уже с каким-то путем, например, andybor.blogspot.com/a, то сайт открывался без каких-то проблем.
Это было очень необычное поведение, с которым мы раньше не встречались. И статус код 308 для редиректа я тоже как-то раньше не встречал (все больше 301 или 302).
Бесполезно и говорить 😅 , что локально мы не смогли повторить эту проблему. Идей, что и где поломалось не было от слова совсем.
Тут я вспомнил о Bing AI/Chat. Я недавно записывал видео про этот чат-бот, который умеет помогать в решении разных задач. Я решил попробовать, сможет ли он как-то помочь мне.
К сожалению, у меня не осталось переписки с чат-ботом, поэтому я на словах опишу, как он помог мне понять в чем была проблема и как ее устранить.
Bing AI обратил внимание, что в респонсе используется хидер Refresh = “/”, который, по мнению Bing AI, и приводил к бесконечным редиректам со статусом 308. Это было уже что-то.
Далее я спросил у Bing AI, какой сервис или библиотека в моей конфигурации могла добавлять к респонсу этот хидер. Bing AI написал мне, что так может вести себя AWS CloudFront, если у него значение для параметра для Default root object не совпадает с аналогичным параметром в Origin.
Я проверил параметры CloudFront и Origin для CloudFront. Бинго! Bing AI/Chat оказался на 100% прав. Я обновил значения для Default root object в CloudFront, чтобы оно совпадало с Origin, и сайт наш заработал на новом домене как положено.
На все-про все у меня ушло около 30 минут. 30 минут, Карл! Да, я эту статью уже пишу дольше.
Надеюсь, что эта статья была интересна и полезна для вас. Если вы хотите узнать больше о Bing AI/Chat, то предлагаю посмотреть мое видео на YouTube канале.
Это была довольно необычная и сложная проблема, с которой я раньше не сталкивался. Но благодаря Bing AI/Chat я смог найти решение всего за 30 минут! Да, за 30 минут! 😎
В этой статье я расскажу вам, как все начиналось, как я искал решение, как Bing AI/Chat мне помог и какие выводы я сделал из этого опыта. Надеюсь, что эта история будет интересна и полезна широкому кругу читателей.
В этой статье я расскажу вам, как все начиналось, как я искал решение, как Bing AI/Chat мне помог и какие выводы я сделал из этого опыта. Надеюсь, что эта история будет интересна и полезна широкому кругу читателей.
Houston, we have a problem
Все начиналось довольно буднично. Мне нужно было сконфигурировать новое доменное имя для сайта, который уже был в продакшене, но еще не имел красивого доменного имени.Стек технологий у нас следующий:
• Сайт задеплоен в AWS
• Сайт разработан на React, NextJS, NodeJS
Процедура конфигурации домена достаточно типовая. У нас есть пошаговая инструкция и специальный сервис, который помогает в деплойменте. Этот сервис для продакшен-деплойментов создает AWS CloudFront и затем с его помощью назначает доменное имя.
Мы все сделали довольно быстро, за 30 минут. Но когда мы попробовали открыть сайт на новом домене, мы обнаружили странную и крайне неприятную проблему.
Если я в браузере вводил домен сайта (например, andybor.blogspot.com), то сайт не открывался. Как показали дев-тулы браузера, сайт в таком случае шлет постоянно редирект с кодом 308. Что еще более интересно, если открыть тот же самый сайт, но уже с каким-то путем, например, andybor.blogspot.com/a, то сайт открывался без каких-то проблем.
Это было очень необычное поведение, с которым мы раньше не встречались. И статус код 308 для редиректа я тоже как-то раньше не встречал (все больше 301 или 302).
Бесполезно и говорить 😅 , что локально мы не смогли повторить эту проблему. Идей, что и где поломалось не было от слова совсем.
Поиск решения
Первое, что мы сделали - это поискали в Google. Но это заставило загрустить еще больше. На Stack Overflow нашлась проблема по 308 редиректу, где это было вызвано конфигом для NextJs. Но это был не наш случай.Тут я вспомнил о Bing AI/Chat. Я недавно записывал видео про этот чат-бот, который умеет помогать в решении разных задач. Я решил попробовать, сможет ли он как-то помочь мне.
К сожалению, у меня не осталось переписки с чат-ботом, поэтому я на словах опишу, как он помог мне понять в чем была проблема и как ее устранить.
Решение проблемы с помощью Bing AI/Chat
Я описал ему в целом проблему. Bing AI тоже поначалу предположил, что это проблема с конфигом для NextJs. Я ему написал, что это не проблема конфига для NextJs, и показал ответ, который возвращал веб-сайт.Bing AI обратил внимание, что в респонсе используется хидер Refresh = “/”, который, по мнению Bing AI, и приводил к бесконечным редиректам со статусом 308. Это было уже что-то.
Далее я спросил у Bing AI, какой сервис или библиотека в моей конфигурации могла добавлять к респонсу этот хидер. Bing AI написал мне, что так может вести себя AWS CloudFront, если у него значение для параметра для Default root object не совпадает с аналогичным параметром в Origin.
Я проверил параметры CloudFront и Origin для CloudFront. Бинго! Bing AI/Chat оказался на 100% прав. Я обновил значения для Default root object в CloudFront, чтобы оно совпадало с Origin, и сайт наш заработал на новом домене как положено.
На все-про все у меня ушло около 30 минут. 30 минут, Карл! Да, я эту статью уже пишу дольше.
Выводы
Bing AI/Chat - это очень полезный и мощный инструмент для программистов и оперейшен-команд. Он может помочь в решении самых разных задач, как связанных с кодом так и с конфигурацией, деплойментом и т.д.Надеюсь, что эта статья была интересна и полезна для вас. Если вы хотите узнать больше о Bing AI/Chat, то предлагаю посмотреть мое видео на YouTube канале.
Комментарии