Сайт Stati c, размещенный на AWS S3 за обратным прокси-сервером - PullRequest
0 голосов
/ 09 марта 2020

У меня есть веб-сайт, который я создал с использованием Angular и размещенный статически в AWS S3, с URL-адресом http://website.s3-website-ap-northeast-1.amazonaws.com/index.html.

Для доступа к сайту (т.е. загрузить веб-сайт в браузере из терминала), через следующие серверы необходимо пройти:

  1. компьютерный терминал на локальный DNS-сервер
    • У меня есть локальный DNS-сервер, который разрешает домен (www.website-domain.com) для IP-адреса сервера аутентификации (192.XXX.XXX.XXX)
  2. локальный DNS-сервер для сервера аутентификации
    • здесь Страница входа загружается, и если учетные данные верны, клиент перенаправляется на общедоступный c DNS-сервер (192.YYY.YYY.YYY) с учетными данными в заголовке запроса.
  3. сервер аутентификации для публикации c DNS-сервер
    • DNS-сервер publi c затем преобразуется в cname балансировщика нагрузки приложения в AWS, в котором все еще хранятся учетные данные в заголовке запрос
  4. приложение loa d балансировщик на обратный прокси-сервер
    • , затем ALB перенаправляет запрос на обратный прокси-сервер в целевой группе, в котором все еще указаны учетные данные в заголовке запроса
  5. обратный прокси-сервер в корзину S3
    • обратный прокси-сервер затем получает ресурсы веб-сайта из корзины S3 и отображает все в браузере

My проблема заключается в том, что мне нужно использовать учетные данные внутри заголовка запроса на моем веб-сайте stati c. Поскольку веб-сайт stati c загружается только в браузере, он не «видит» заголовки запроса.

Чтобы решить эту проблему, я создал конечную точку API, которая просто возвращает запрос вместе с заголовками при вызове. Я еще не проверял его, но я думаю об установке пути "/ api" на моем обратном прокси-сервере при вызове моего веб-сайта и в файле proxy.conf. json (или js? ) имея мою конечную точку API в качестве цели и, как только ответ вернется (с учетными данными в заголовке), перепишите путь к «index. html», который является моим Angular веб-сайтом.

Моя проблема в том, как я могу получить ответ и сохранить его в переменной внутри моего Angular веб-сайта, чтобы я мог использовать его в других вещах?

...