00:00:00Всем привет.
00:00:24Добро пожаловать на очередной прямой эфир сообщества Vercel.
00:00:27Меня зовут Эми, и сегодня со мной Майя.
00:00:31Всем привет.
00:00:32Мы обе работаем в команде сообщества Vercel.
00:00:35Мы ведем трансляцию в X и на YouTube,
00:00:37но если вы хотите задать вопросы,
00:00:39обязательно заходите на [community.vercel.com/live](https://community.vercel.com/live),
00:00:43чтобы присоединиться к чату, и мы могли увидеть ваши вопросы.
00:00:47Абсолютно. Если вы проводите время в нашем чате,
00:00:50просто дружеское напоминание: будьте вежливы,
00:00:52соблюдайте наш кодекс поведения
00:00:54и помогайте нам поддерживать здесь приятную атмосферу для всех.
00:00:56Итак, сегодняшняя сессия посвящена Vercel CDN.
00:01:00Забавный факт: если вы смотрите нас через нашу платформу,
00:01:04она сама использует Vercel CDN — очень самобытно.
00:01:07Если вам это интересно,
00:01:10Джейкоб Пэррис из нашей команды DX-инженеров
00:01:13недавно опубликовал отличный пост об этой реализации
00:01:15в блоге на сайте Vercel.
00:01:19Я только что скинула ссылку в чат,
00:01:22так что если кто-то хочет почитать, она там.
00:01:25И если вы следили за новостями,
00:01:28то заметили, что в нашем списке изменений появилось
00:01:30много обновлений, связанных с Vercel CDN.
00:01:33Поэтому мы пригласили ребят из команды разработки,
00:01:35чтобы они рассказали об этом подробнее,
00:01:37объяснили, как мы это строили, как этим пользоваться
00:01:40и какие функции теперь доступны.
00:01:43Приветствуем на сцене
00:01:45Марка, Эндрю и Яша. Они всё расскажут.
00:01:48Мы уступаем вам место, ребята.
00:01:51Спасибо, Эми и Майя.
00:01:55Всем привет, меня зовут Марк.
00:01:57Я инженер-программист в команде CDN,
00:01:59и я здесь вместе с Эндрю и Яшем.
00:02:03Я нахожусь в прекрасном офисе Vercel
00:02:06в Сан-Франциско, на этой неделе в Калифорнии довольно тепло.
00:02:09Сегодня я хотел бы поговорить о
00:02:12новых функциях CDN, над которыми мы работали.
00:02:15Очень рад возможности представить их вам.
00:02:18Сначала я вкратце расскажу о том, что такое Vercel CDN.
00:02:21Я покажу несколько слайдов на эту тему,
00:02:25а затем передам слово Эндрю,
00:02:27который проведет демонстрацию панели управления CDN.
00:02:32Отлично. Я хотел немного пояснить принцип работы Vercel CDN.
00:02:39Возможно, вы не знали, но каждый проект,
00:02:42развернутый на Vercel, использует нашу сеть доставки контента.
00:02:44Вы получаете это бесплатно.
00:02:46Но это часто остается «под капотом», и не все знают, как это устроено.
00:02:51Vercel CDN
00:02:54принимает запросы от вашего клиента,
00:02:56из браузера или с вашего устройства,
00:02:58и направляет их в ближайшую точку присутствия.
00:03:01Эти точки распределены по всему миру.
00:03:03У нас более 125 таких точек в разных географических регионах.
00:03:07Затем трафик идет в регион Vercel, где мы терминируем TLS
00:03:14и обрабатываем сам запрос.
00:03:16Именно здесь происходит кэширование.
00:03:18Мы также занимаемся маршрутизацией.
00:03:19Если нужных данных нет в кэше,
00:03:21мы перенаправляем запрос в функциональный регион,
00:03:25где может выполняться инкрементальная статическая регенерация (ISR) и так далее.
00:03:29Я разберу эту схему подробнее, когда мы перейдем к кэшированию.
00:03:33Помимо этого, вы получаете входящий трафик,
00:03:35файрвол, маршрутизацию,
00:03:38функции управления трафиком, такие как защита от перекосов (skew protection),
00:03:40плавные релизы, микрофронтенды и многое другое.
00:03:44Так что же особенного в Vercel CDN?
00:03:49Vercel CDN нативно понимает код фреймворков.
00:03:52Это означает, что когда вы деплоите проект на Vercel,
00:03:56ваш код и его конфигурация
00:03:57автоматически преобразуются в артефакты,
00:04:00которые CDN обрабатывает напрямую.
00:04:04В большинстве других CDN вам приходится настраивать это вручную.
00:04:07Здесь же всё работает сразу, если вы используете один из фреймворков.
00:04:10Вы получаете встроенное ускорение запросов
00:04:13и высокую доступность, о которой я упоминал.
00:04:16Также вам доступна функция ISR —
00:04:19инкрементальная статическая регенерация.
00:04:21Это наша ключевая особенность,
00:04:23позволяющая обновлять страницы без пересборки
00:04:27всего кода — достаточно просто отправить
00:04:29API-запрос или вебхук на конкретные страницы.
00:04:34Кроме того, вы получаете безлимитную
00:04:36и всегда активную защиту от DDoS для каждого проекта.
00:04:40Она бесплатна и надежно отражает угрозы для приложений,
00:04:46включая настраиваемый WAF и управление ботами.
00:04:51За последние несколько месяцев
00:04:53мы внедрили ряд новых возможностей,
00:04:56которые уже доступны в панели управления Vercel,
00:05:00и сегодня мы по ним пройдемся.
00:05:02Среди них: полностью обновленная панель CDN,
00:05:06возможность задавать правила маршрутизации
00:05:09на уровне проекта без необходимости нового деплоя,
00:05:12новая вкладка кэширования
00:05:13и поддержка до миллиона редиректов.
00:05:18На этом я передаю слово Эндрю,
00:05:22который покажет нам новую панель CDN. Эндрю?
00:05:27Спасибо, Марк.
00:05:29Всем привет, я Эндрю Газек.
00:05:31Я тоже инженер-программист в команде CDN.
00:05:36Я нахожусь в Нью-Гэмпшире.
00:05:38Сегодня у нас около 35 градусов (по Фаренгейту) и солнечно, всё еще холодновато.
00:05:45С нетерпением жду скорого наступления теплых летних дней.
00:05:49Сегодня я поделюсь экраном
00:05:53и покажу вам небольшое демо-приложение,
00:05:56которое мы подготовили для этой встречи.
00:05:59Это приложение на Next.js.
00:06:02В нем есть набор маршрутов для блога.
00:06:08Мы можем просматривать дашборд.
00:06:10Есть API-маршрут, который возвращает данные, и так далее.
00:06:16Но мы здесь не ради этого.
00:06:18Нас интересуют изменения в панели управления.
00:06:22В дашборде Vercel
00:06:25вы теперь заметите новую вкладку CDN.
00:06:28Если нажать на неё,
00:06:30откроется страница обзора, где перечислены
00:06:35все регионы Vercel, которые в данный момент
00:06:39обслуживают ваш проект за выбранный период времени.
00:06:45Здесь у нас данные за последние 12 часов.
00:06:47Видно, что на сайт заходят пользователи
00:06:49из Сан-Франциско и Вашингтона.
00:06:52При наведении можно увидеть подробности.
00:06:55Можно открыть раздел мониторинга (observability),
00:06:58чтобы глубже изучить данные о трафике.
00:07:04Интересная фишка: можно переключиться на 3D-карту,
00:07:08вернуться к 2D,
00:07:10а также увидеть дополнительные метрики здесь,
00:07:17которые также ведут на соответствующие страницы аналитики.
00:07:22Это страница обзора.
00:07:27Она предназначена для быстрого анализа
00:07:30трафика вашего проекта,
00:07:35а также показывает, где именно расположены ваши функции.
00:07:38Видно, что функции этого проекта находятся в регионе Вашингтон.
00:07:44Следующее, что я хочу показать — это редиректы.
00:07:48Массовые редиректы, извините.
00:07:52О нет, так и было задумано (смеется).
00:08:00Давайте посмотрим... Попробую другой проект.
00:08:07Так, выберем другой.
00:08:18Извините за неудобства.
00:08:22Вот у нас проект для массовых редиректов.
00:08:27Попробуем добавить в него несколько правил.
00:08:30Чтобы создать редирект,
00:08:35перейдите на эту страницу и нажмите «Manual» (Вручную).
00:08:37Допустим, я хочу, чтобы путь /demo вел на...
00:08:44посмотрим... /about/blog/2020,
00:08:51как-то так, для примера.
00:08:57Нажимаем «Create», он создается в фоне,
00:09:02и затем появляется окно подтверждения изменений.
00:09:07Сейчас эти изменения еще не применены в продакшене.
00:09:11Они находятся в тестовой среде (staging),
00:09:13и вы можете проверить новый редирект.
00:09:18Нажимаем сюда... этой страницы просто не существует.
00:09:24Но да, принцип работы такой.
00:09:27Если вы хотите выкатить это в продакшен, жмите «Publish».
00:09:30Если хотите оставить в стейджинге — «Cancel»,
00:09:34и тогда вы сможете увидеть отложенные изменения здесь.
00:09:39Если мы опубликуем это в продакшен,
00:09:42эти временные изменения исчезнут,
00:09:45и мы увидим их в основном проекте.
00:09:58Теперь можно пользоваться поиском.
00:10:01Можно просматривать историю.
00:10:05Можно сравнивать текущие изменения с предыдущими
00:10:14и, при желании, восстановить старую версию.
00:10:17Нажимаем «Restore», и мы должны увидеть, что /demo больше не существует.
00:10:26Отлично. А теперь я передаю слово Яшу для его части демо.
00:10:34Спасибо, Эндрю. Всем привет.
00:10:38Меня зовут Яш. Я стажер-инженер в команде CDN,
00:10:42и я также базируюсь в штаб-квартире в Сан-Франциско,
00:10:55в Калифорнийском университете в Сан-Франциско.
00:10:58Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:03Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:08Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:14Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:18Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:23Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:26Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:32Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:37Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:41Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:46Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:50Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:11:57Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:02Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:07Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:13Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:17Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:22Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:27Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:32Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:37Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:41Я инженер-стажер в Калифорнийском университете в Сан-Франциско.
00:12:45Если бы мы делали то же самое через код, нам пришлось бы заново деплоить проект.
00:12:49Но теперь это происходит мгновенно.
00:12:53Сейчас я создам второй маршрут. Он будет немного сложнее.
00:12:56Вместо того чтобы заполнять форму, как в прошлый раз, я просто напишу текстом, что мне нужно.
00:13:00Мы используем ИИ для генерации правила.
00:13:02У меня есть дашборд, и я делаю его вторую версию, которую хочу постепенно внедрить только для бета-тестеров.
00:13:08Так что я могу перенаправить трафик с обычного дашборда на версию v2.
00:13:14Давайте проверим, есть ли у пользователя куки beta со значением true.
00:13:21Теперь мы можем создать правило, и через пару секунд ИИ заполнит форму за нас.
00:13:27Посмотрим на созданное правило. Оно перенаправляет с dashboard на dashboard v2.
00:13:32Это значит, что пользователь по-прежнему будет видеть /dashboard в адресной строке,
00:13:35но ему будет показан контент из новой панели управления.
00:13:39И здесь есть условие. Это означает, что правило перезаписи применится только в том случае,
00:13:43если у пользователя есть куки с именем beta и значением true.
00:13:46Если этот куки есть, они увидят новую панель, в противном случае — старую.
00:13:53И снова мы можем очень быстро это протестировать.
00:13:58Вот старая панель, но если мы установим куки beta в значение true
00:14:09и обновим страницу, то увидим новую панель, хотя URL остался /dashboard, а не /dashboard/v2.
00:14:16Это потому, что мы использовали rewrite вместо redirect. Теперь можем это опубликовать.
00:14:22И последнее правило, которое я хочу показать, касается заголовков кеширования.
00:14:26Их можно настроить для повышения производительности сайта,
00:14:30и в частности я хочу оптимизировать наши статические изображения.
00:14:33Я могу указать, что мы хотим оптимизировать кеширование для статических изображений,
00:14:41установив заголовок cache-control в значение public, max-age один год и immutable.
00:14:52И снова генерируем правило с помощью ИИ.
00:14:55Теперь у нас есть правило, которое устанавливает годовое кеширование для всех изображений.
00:14:59Так что вместо того, чтобы браузер каждый раз обращался к серверу за картинкой,
00:15:03он будет брать её из локального кеша, что ускоряет работу и снижает затраты.
00:15:08Для заголовка cache-control есть много других значений,
00:15:11но для статических ресурсов это, пожалуй, лучшее.
00:15:14Итак, мы снова создаем и публикуем маршрут.
00:15:19Как я упоминал ранее, все эти маршруты можно также прописать в коде.
00:15:23У нас есть модель, которая позволяет
00:15:26преобразовать все ваши маршруты из панели управления в формат, который можно скопировать
00:15:30в файлы vercel.json или vercel.ts — как вам удобнее.
00:15:35Главное преимущество хранения в коде — соблюдение стандартов контроля версий,
00:15:40но учтите: если вы вносите изменения здесь, проект придется передеплоить, чтобы они вступили в силу.
00:15:46Еще я хочу показать вам страницу истории.
00:15:49Она похожа на ту, что Эндрю демонстрировал в разделе массовых редиректов.
00:15:52Здесь можно увидеть прошлые версии и все изменения.
00:15:55Допустим, мы хотим отменить последнее изменение — добавление правила кеширования.
00:16:00Мы можем мгновенно его откатить, просто нажав кнопку восстановления.
00:16:04И правило исчезнет практически сразу — как видите, его больше нет в списке.
00:16:09Также можно использовать поиск и фильтрацию по типу, например, чтобы увидеть только редиректы.
00:16:14В общем, вот так работает добавление маршрутов.
00:16:16Вся функциональность, которую я показал, также доступна через API, CLI и SDK.
00:16:22Большое спасибо, передаю слово Марку.
00:16:26Спасибо, Яш, это было действительно круто.
00:16:29Мне понравилась функция с использованием естественного языка.
00:16:31Теперь я покажу последнюю функцию в новых вкладках CDN — вкладку кеширования.
00:16:41Как и говорил Яш о настройке заголовков cache-control,
00:16:46в Vercel CDN вы получаете кеширование по умолчанию при использовании таких функций,
00:16:53как Incremental Static Regeneration, или можете управлять заголовками сами.
00:16:56Здесь, во вкладке кешей наверху, у нас есть диаграмма кеширования.
00:17:04Я хочу уделить ей немного времени, так как, в отличие от других CDN, здесь
00:17:09есть несколько уровней, которые помогают оптимизировать ваш сайт.
00:17:12Если вы используете ISR, то это та самая диаграмма, которую мы видели раньше.
00:17:17Запрос поступает в точку, максимально близкую к клиенту.
00:17:20Затем он проходит в ближайший регион Vercel.
00:17:22Всего по миру 20 регионов, где запрос проверяется по кешу CDN.
00:17:27Если в CDN произошел промах, запрос идет в регион функций, где есть еще один кеш
00:17:33для ISR. А если функцию нужно выполнить, существует также кеш,
00:17:39который можно использовать для запросов данных из бэкенда, чтобы защитить его.
00:17:43Существуют различные типы запросов, которые вы можете делать в Vercel.
00:17:47Например, если вы просто делаете API-запрос и используете заголовки cache-control,
00:17:52как указано в документации, здесь также задействуется кеш CDN.
00:17:56Он пропускает кеш ISR, но всё равно использует кеш функций и рантайма.
00:18:00И наконец, если вы делаете rewrite в Vercel CDN на внешний источник,
00:18:07скажем, проксируете на бэкенд Vercel, вы получаете преимущества CDN,
00:18:14такие как кеш и файрвол, а затем запрос уходит на внешний источник.
00:18:18Это подводит нас к функциональности очистки кеша (purge cache).
00:18:22Допустим, по какой-то причине вы хотите ревалидировать контент.
00:18:26На этой странице у меня есть пример с ISR, где используется fetch со специфическим тегом кеша.
00:18:36Здесь он называется fetch-data-tag.
00:18:38Как видите, страница была обновлена около часа назад и использует этот тег.
00:18:45Если я хочу очистить этот кеш, чтобы страница перегенерировалась, у меня есть несколько вариантов.
00:18:54Я могу очистить по тегу кеша, просто введя fetch-data-tag.
00:18:58Затем я могу выбрать между инвалидацией контента или его удалением.
00:19:04Инвалидация позволяет показывать «устаревшую» страницу, пока новая генерируется
00:19:09в фоновом режиме. Именно этот вариант мы рекомендуем,
00:19:14чтобы пользователи не сталкивались с задержками при следующем запросе.
00:19:16Допустим, я нажимаю «Purge», подтверждаю очистку.
00:19:21При обновлении страницы время не изменилось сразу, счетчик продолжает идти.
00:19:27Но если я обновлю страницу еще раз, вы увидите, что время сбросилось —
00:19:33контент был свежесгенерирован.
00:19:34То же самое можно сделать и с удалением контента.
00:19:39Если я выберу «Delete» и нажму «Purge», то при следующем обновлении страницы
00:19:45время сбросится мгновенно.
00:19:48Это произошло потому, что сработала блокирующая ревалидация: следующий запрос
00:19:53ждал завершения генерации страницы, прежде чем отобразиться.
00:19:55Поэтому мы советуем использовать инвалидацию для обновления контента,
00:20:00так как она позволяет отдавать старый контент во время фонового обновления.
00:20:05Можно чистить по тегу кеша или по исходному изображению тем же способом.
00:20:11Также можно очистить весь кеш целиком на обоих уровнях,
00:20:16о которых мы говорили: либо в кеше CDN, либо в кеше рантайма и данных.
00:20:21При этом удаляется весь контент, так что следующий запрос будет заблокирован,
00:20:28пока данные не обновятся.
00:20:30Это всё, что мы хотели рассказать о новых функциях. Теперь мы переходим к вопросам,
00:20:39спрашивайте всё, что вас интересует.
00:20:43Хорошо, спасибо.
00:20:44Ребята, у нас есть пара вопросов в чате.
00:20:50Начну с первого.
00:20:51Как мне использовать CDN после деплоя приложения на Vercel и как вы за это берете плату?
00:21:10Да, отличный вопрос.
00:21:11Каждое приложение на Vercel получает CDN бесплатно. Это значит, что при деплое
00:21:20мы автоматически анализируем контент и оптимизируем его для работы
00:21:27через Vercel CDN.
00:21:28Если вы используете фреймворк с поддержкой ISR или SSG,
00:21:35мы сами распределим контент по кешам ISR и CDN.
00:21:40Так что для начала работы вам, скорее всего, даже не придется ничего настраивать.
00:21:46Однако при желании это можно сделать. Например, для API-запросов
00:21:53можно вручную задать заголовки cache-control. Или, как показывал Яш,
00:22:00если вы отдаете статику из нестандартной директории,
00:22:07вы можете установить правила кеширования для всего этого контента.
00:22:11Для пользователей тарифа Hobby это бесплатно, а для тарифа Pro
00:22:21предусмотрен лимит на количество запросов и трафик. При превышении
00:22:26действуют тарифы в зависимости от региона, их можно найти на нашем сайте.
00:22:27Второй вопрос.
00:22:31Что если перед моим приложением уже стоит другой CDN?
00:22:38Как мне переключиться на Vercel?
00:22:40Тоже отличный вопрос.
00:22:44Мы это полностью поддерживаем.
00:22:47Миграция обычно проходит в два этапа.
00:22:54Во-первых, если вы уже используете CDN перед Vercel, вы можете просто пропускать
00:22:58трафик насквозь, чтобы Vercel сам занимался кешированием, отдачей и правилами
00:23:04маршрутизации. Когда вся конфигурация на стороне Vercel будет готова,
00:23:10вам останется только перенаправить DNS на Vercel, чтобы
00:23:15запросы шли к нам напрямую.
00:23:18У нас есть руководство по миграции на DNS Vercel
00:23:23без простоев, мы скинем ссылку в комментариях.
00:23:25Если есть вопросы по различиям в настройках, в нашей базе знаний
00:23:33есть гайды, где показано, как концепции других CDN переносятся на
00:23:37платформу Vercel. Мы тоже поделимся этими ссылками.
00:23:41Следующий вопрос я, пожалуй, передам Эндрю.
00:23:49Как я могу анализировать трафик своего CDN?
00:23:52Да, есть пара способов.
00:23:55О первом я уже вкратце упоминал.
00:24:00Меня слышно?
00:24:00Да, всё в порядке, спасибо.
00:24:04Как я и показывал, можно открыть вкладку «CDN Overview». Там виден срез
00:24:11трафика вашего проекта в Vercel CDN за выбранный период времени.
00:24:17Также можно зайти на страницу «Observability Edge Request» и детально
00:24:24изучить трафик по различным категориям.
00:24:34Да, страница мониторинга в Vercel дает очень подробную аналитику,
00:24:44так что рекомендую её изучить.
00:24:48Еще один частый вопрос: защищает ли CDN от DDoS-атак
00:24:57и какие функции безопасности включены в CDN?
00:25:04Да, прекрасный вопрос.
00:25:06Vercel предоставляет безлимитную защиту от DDoS «из коробки».
00:25:12Это значит, что она бесплатна и включает в себя защиту от
00:25:19самых разных типов атак, которые Vercel отражает автоматически.
00:25:23У нас есть WAF (Web Application Firewall), а также защита на уровнях L3, L4 и L7.
00:25:32Мы защищаем как от простых всплесков запросов на конкретный путь, так и от более сложных
00:25:39атак с постоянной сменой IP-адресов и другими техниками, которые мы умеем
00:25:47распознавать и блокировать.
00:25:48Так что да, это доступно для всех проектов по умолчанию.
00:25:52Вы также можете настраивать свои собственные правила.
00:25:57Это делается во вкладке Firewall в панели управления. Нам точно стоит
00:26:02провести отдельную сессию по этой теме в ближайшее время.
00:26:04Там вы можете задать более специфические правила для своего приложения,
00:26:09если нужно заблокировать что-то конкретное.
00:26:13Безопасность — большая тема, ей можно посвятить целую встречу.
00:26:22Мне очень нравится всё, что вы делаете, чтобы упростить эти процессы
00:26:27и убрать лишние сложности.
00:26:29Вопрос немного не по теме, но в Twitter было много восторгов по поводу
00:26:34перехода из 2D в 3D анимацию на странице CDN.
00:26:38Можете показать её и рассказать пару слов об этом?
00:26:42Да, я снова включу демонстрацию экрана.
00:26:49Посмотрим, для тех, кто еще не видел.
00:26:52На странице обзора CDN мы показываем 2D-карту, но если кликнуть на глобус,
00:27:00появляется 3D-модель.
00:27:01Она интерактивная, её можно вращать в любую сторону.
00:27:07Можно навести курсор и переключиться обратно.
00:27:12Вот такая штука.
00:27:18Спасибо.
00:27:19Классная графика. Мне нравится, как легко она позволяет перейти к аналитике:
00:27:24сначала видишь, откуда идет трафик, а потом можешь изучить детали.
00:27:29Именно так.
00:27:30Еще один вопрос, связанный с проблемами, с которыми люди сталкивались раньше,
00:27:32до появления этих функций. Да и мне самому любопытно, так как я еще не
00:27:43успел досконально изучить все последние новинки.
00:27:47Всё это такое новое.
00:27:50Какие есть предохранители для предотвращения или обнаружения ошибок в конфигурации,
00:27:51чтобы случайно не открыть доступ к внутренним сервисам или конфиденциальным данным?
00:27:58Да, безусловно.
00:28:03Существует несколько типов защиты для скрытия внутренних маршрутов.
00:28:04По умолчанию в проектах есть защита деплоя (Deployment Protection), которая позволяет
00:28:07использовать аутентификацию Vercel или пароли для защиты сайта
00:28:15от нежелательных посетителей. Это может защитить весь деплой целиком.
00:28:23Также вы можете использовать куки и библиотеки аутентификации
00:28:31для защиты конкретных маршрутов.
00:28:43Кроме того, есть кастомные правила файрвола для защиты определенных путей.
00:28:46Так что вариантов много.
00:28:54В панели управления вы найдете широкие возможности мониторинга всех активных маршрутов.
00:28:56Для каждого деплоя доступна сводка (Deployment Summary), где можно
00:29:04проверить информацию по всем маршрутам и функциям.
00:29:10Попробуйте сами, и если возникнут вопросы, я с радостью отвечу подробнее.
00:29:15Потрясающе.
00:29:22Так, давайте еще один вопрос. Возможно, вы его уже касались,
00:29:34но хотелось бы чуть больше деталей.
00:29:41Можно ли использовать маршруты на уровне проекта для направления трафика на внешние API или микросервисы?
00:29:43Да, абсолютно.
00:29:51Для этого есть шаблон. Яш, может, ты расскажешь, так как ты над этим работал?
00:29:55Конечно, давай.
00:30:04Да, вы определенно можете перенаправлять любые API-запросы на внешние источники.
00:30:06Я подробнее расскажу об этом в ближайшие недели, но правила маршрутизации уже можно настраивать.
00:30:11Я могу показать экран.
00:30:15При создании правила перезаписи я могу указать, например, путь /api
00:30:18и перенаправить его на любой внешний домен, например [https://api-external.com](https://www.google.com/search?q=https://api-external.com).
00:30:35Это позволит проксировать ваш API на сторонний ресурс.
00:30:44Всё это полностью поддерживается, и настройки можно вносить через CLI
00:30:50или любым другим удобным способом.
00:31:00Здорово. Это очень упрощает жизнь при частичном переезде. Мы сами используем
00:31:04эту фишку на нашем сайте сообщества для добавления новых функций.
00:31:10Мы не хотим полностью уходить с Discourse, так как это основа нашего сайта,
00:31:16но теперь мы можем строить дополнительные функции поверх него. Это очень удобно.
00:31:21Да, это действительно открыло много возможностей.
00:31:25Здорово, что вы получаете преимущества уровня кеширования, файрвола
00:31:27и правил маршрутизации с таким простым синтаксисом,
00:31:31при этом имея возможность использовать разные бэкенды для вашего контента.
00:31:35Отлично. Кажется, вопросов в чате больше нет. Но напоследок: что дальше?
00:31:42Можете что-нибудь проспойлерить?
00:31:48О, хороший вопрос.
00:31:56В планах много всего, но, как мы говорили ранее, мы будем
00:32:00уделять больше внимания безопасности. Ждите новостей в этой области в ближайшее время.
00:32:02Круто! Спасибо, что зашли к нам. Мы знаем, как вы заняты,
00:32:09поэтому не будем больше отвлекать. Очень ценим ваше время.
00:32:15Спасибо, что пригласили.
00:32:22Да, огромное спасибо.
00:32:25Всем пока!
00:32:28Отлично пообщались. Майя, что у нас дальше по программе?
00:32:30В четверг у нас будет сессия вопросов и ответов по песочницам (Sandbox AMA).
00:32:30Так что не пропустите.
00:32:37И еще хочу анонсировать: на выходных пройдут захватывающие мероприятия
00:32:45«Zero to Agent» от Vercel. А в июне нас ждет конференция Ship.
00:32:47Если еще не видели, зайдите на [vercel.com/ship](https://vercel.com/ship) — там можно собрать свой виртуальный чемодан.
00:32:54Команда дизайнеров просто превзошла себя. Обязательно загляните,
00:33:03запишите даты мероприятий в разных городах мира.
00:33:09И у нас впереди еще много сессий для сообщества, следите за расписанием
00:33:15на странице [community.vercel.com/events](https://www.google.com/search?q=https://community.vercel.com/events).
00:33:21Всем спасибо, это было здорово!
00:33:26Пока!
00:33:28До свидания!