Как мне прокси-запросы API в решении JAMstack? - PullRequest
0 голосов
/ 28 ноября 2018

Я занимаюсь разработкой сайта, который практически полностью статичен.Я использую генератор для создания всего HTML.

Тем не менее, мой сайт является интерфейсом магазина, встроенного в его страницы.У меня есть маленький сервер node.js, который передает запросы от имени браузера в серверное хранилище.Все, что он делает - это указывает количество товаров в корзине, чтобы я мог обновлять этот номер на всех страницах моего сайта.Это потому, что браузер не поддерживает междоменные сценарии.Мой сервер должен выступать в качестве прокси между клиентом и магазином.

(встроенное хранилище загружается с веб-сайта магазина и поэтому само по себе не требует прокси.)

Я надеялсяв конечном итоге для развертывания в Netlify или некотором подобном провайдере JAMstack.Но я не понимаю, как бы я прокси на Netlify.

Каково стандартное решение этой проблемы?Или прокси недоступен для решений JAMstack?Существуют ли провайдеры JAMstack, которые решают эту проблему?

1 Ответ

0 голосов
/ 30 ноября 2018

Netlify разрешает перезапись прокси с использованием путей перенаправления с кодом состояния 200.

Вы можете сохранить перенаправления прокси в _redirects в корне развернутого сайта.Другими словами, файл должен существовать в корне каталога сайта, который будет развернут после сборки.

_redirects /api/* https://api.example.com/:splat 200

Итак, вызов:

/api/v1/gifs/random?tag=cat&api_key=your_api_key

будет перенаправлен на:

https://api.example.com/v1/gifs/random?tag=cat&api_key=your_api_key

Если API поддерживает стандартные механизмы кэширования HTTP, такие как заголовки Etags или Last-Modified, ответы даже будут кэшироваться узлами CDN.

ПРИМЕЧАНИЕ: вы также можете настроить свои перенаправления в своем netlify.toml

...