Вот мои настройки:
nginx сервер, действующий в качестве обратного прокси-сервера для маршрутизации всех запросов на mysite.com
- я контролирую
приложение реакции для некоторых подразделов сайта на s3-bucket.awsthing.com
- я не контролирую
Если вы посещаете s3-bucket.awsthing.com/user/charlie
, вы получаете перенаправление 301, которое отправляет вас на s3-bucket.awsthing.com/#!/user/charlie
(потому что это индекс. html, где приложение плюс некоторая информация для маршрутизации) в свою очередь возвращает 200 ... хорошо, хорошо.
Когда пользователь заходит на mysite.com/user, у меня настроен прокси-сервер так:
location /user/ {
proxy_pass s3-bucket.awsthing.com/user/;
}
, что означает, что прокси-сервер делает запрос на s3-bucket.awsthing.com/user
, возвращает 301, затем перенаправляет клиента на s3-bucket.awsthing.com/
... не очень хорошо
Пока он функционирует и работает, я теперь предоставляю пользователю доступ к вышестоящему серверу. и не проксируется.
вопросы: 1) Как я могу сделать так, чтобы не отображался вышестоящий сервер 2) Есть ли способ не возвращать 301 клиенту и только перенаправленные данные 200?
Я попробовал почти все, что я могу придумать, кроме, может быть, сделать несколько регулярных выражений, чтобы отправить запрос прокси непосредственно к /#!
маршруту