Angular6: обслуживание ресурсов с использованием CDN, но не Index.html - SecurityError: не удалось выполнить replaceState для History - PullRequest
0 голосов
/ 15 сентября 2018

Цель

Обслуживание всех файлов, кроме index.html, на CDN (CloudFront). Таким образом, приложение обслуживается на поддомене, который отличается от ресурсов.

Задача

Я использовал ng build --prod --aot --base-href https://mycdn.x.com для создания своего приложения, а затем отправил все файлы в мой CDN. Сервер nginx обслуживает index.html

В результате загрузки приложения я получил следующую ошибку:

Uncaught (in promise): SecurityError: Failed to execute 'replaceState' on 'History': 
A history state object with URL 'https://mycdn.x.com/' cannot be created in a document with origin 
'https://myapp.x.com' and URL 'https://myapp.x.com/page1/page2'.

Примечания

  • Все файлы были загружены с кодом 200.
  • CORS настроен для GET / HEAD с * origin.

Как я могу обслуживать все активы из CDN, сохраняя приложение в здравом уме?

1 Ответ

0 голосов
/ 15 сентября 2018

Нашел решение, должен был использовать --deploy-url, а не --base-href.

ng build --prod --aot --deploy-url https://mycdn.x.com
...