2015-01-02 3 views
6

Как установить CORS на запросы на файлы шрифтов (или любой другой статический ресурс) на встроенном сервере ember-cli?Настройка CORS для статических файлов на сервере ember-cli

Это сообщение об ошибке только для справки:

Font from origin 'http://some-domain:4200' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:61277' is therefore not allowed access. 
+0

Если я могу уточнить, вы можете избежать запросов CORS и дополнительных предпросмотров, просто используя CSP, который позволяет в первую очередь запрашивать запросы на кросс-поиск. –

+0

@AndrewHacking откровенно, это мой первый раз, когда нужно манипулировать CSP. Кроме того, я также внедряю мое приложение ember внутри уже существующего, что усложняет ситуацию. Позвольте мне еще раз изучить его. – leojh

+0

Мне нужно было использовать CORS, когда я не мог установить политику через CSP, поэтому я сосредоточился на этом, так как вы сказали, что используете Ember CLI для обслуживания своего приложения. –

ответ

4

Добавьте следующую ENV в конфигурации/environment.js:

module.exports = function(environment) { 
    contentSecurityPolicyHeader: 'Content-Security-Policy', 
    contentSecurityPolicy: { 
     // ... other stuff here 
     'font-src': "'self' http://some-domain:4200", 
    }, 
} 
+0

В дополнение к вышесказанному, я считаю, что вам также необходимо установить заголовки CORS, как упомянуто munsellj –

+0

@Akshay Rawat, сервер non origin (т. Е. Не сервер ember CLI) должен иметь заголовок CORS, чтобы браузер мог принимать ответы от сервера. Этим другим серверам необходимо будет указать источник (или указать шаблон). Сервер CLI с ember обычно не будет обслуживать клиентов из другого источника, поэтому обычно не использует заголовки COR и просто устанавливает заголовки CSP для разрабатываемого клиента браузера. Заголовки CSP - это белый список, позволяющий браузеру получать доступ к сайтам, отличным от источника, в качестве наилучшей практики для производства. CSP и COR работают с разных сторон проблемы. –

1

Я попытался добавить параметры CSP, но она оказалась неудачной для меня. У меня все еще есть ошибки CORS для файлов шрифтов, на которые ссылаются мои CSS-приложения Ember. В другом посте я заметил, что кто-то упомянул ember-cli-cors, который я пробовал и, казалось, решил проблему для меня. Он просто добавляет заголовки CORS, разрешающие запросы извне всем ресурсам, что именно то, что мне нужно для правильной загрузки всех ресурсов в моей локальной среде разработчиков, обслуживающей активы приложения Ember, используя команду ember-cli, встроенную в команду ember serve, на другой локальный сервер разработки, Приложение Python, обслуживающее мой index.html из Redis (ember-cli-deploy стиль).

Смежные вопросы