NGINX - перезаписать и проксировать весь host / app / * на cdn - PullRequest
0 голосов
/ 27 мая 2020

У меня есть «первая» страница на www.host.com и SPA на www.host.com/app.

Внешние файлы для SPA размещены на CDN, url = www.cdn.host.com/app.

По какой-то причине я не могу заставить nginx правильно перенаправить все www.host.com/app* на www.cdn.host.com/app для загрузки файлов из CDN, потому что он начинает либо перенаправлять l oop www.host.com/app/app/app/app/app, либо он ничего не делает et c

location ~ ^/app {
  rewrite ^(.*)$ / break;
  proxy_pass http://cdn/app/app;
  proxy_redirect     off;
  proxy_set_header   Host $host;
}

он работает с этой конфигурацией:

location /app {
  proxy_pass http://cdn/app;
  proxy_set_header   Host $host;
  proxy_set_header    X-Real-IP   $remote_addr;
  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for; 
}

, но приложение Angular использует HTML5 маршруты, и поэтому URL-адрес обновляется до www.host.com/app/auth/login. Все хорошо, пока я не обновлю sh страницу, затем nginx пытается загрузить app / auth / login из CDN и дает 404 ..

Итак, nginx должен переписать все начинающиеся URL с / app / * только на / app, а затем в прокси-сервер, это правильно?

большое спасибо

...