У меня есть корзина S3, которая содержит веб-сайт и поставляется с CloudFront
, и сейчас я прикрепил дистрибутив к своему корневому домену apex, например - www.xyz.com
ИтакРанее мы использовали Nginx для обслуживания статического внешнего интерфейса от корня веб-сервера в том же домене - www.xyz.com, а также настраивали обратный прокси-сервер - www.xyz.com/api/**, который перенаправлял трафик на внутренний сервер бэкенда.на той же машине.
Теперь я хотел бы переместить веб-сайт на S3, но по-прежнему запускать бэкэнд-API на той же машине, и для этого мне придется изменить свои записи DNS и указать их на CloudFront.распределение.
Но тогда существующие и ранее развернутые и запущенные сервисы, которые используют www.xyz.com/api для внутренних сервисов, сломаются. Итак, я хочу перенаправить все запросы по этому шаблону пути на http: /// apiчтобы существующие приложения не ломались.
Есть ли способ, которым мы можем достичь этого?т.е. -
Переслать запрос от подпути дистрибутива CloudFront, который доставляет статический интерфейс от S3 на внешний сервер приложений?
--- UPDATE --- --- Nginx conf для перенаправления запросов--
location /api/ {
proxy_pass http://localhost:4040/api/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_http_version 1.1;
}
это внутри директивы сервера, которая в настоящее время предоставляет корневой домен и внешний интерфейс для мира, но теперь я хочу перенести внешний интерфейс на S3 и, таким образом, сохранить этот блок местоположения / api только для целей совместимости.пока я не обновлю конфигурацию на всех клиентах.
Если это так, пожалуйста, предложите, как это можно сделать или какая информация вам нужна с моей стороны, чтобы помочь в этом?
Спасибо,