У меня проблемы только при локальном запуске приложения.
Похоже, у меня Content-Security-Policy
установлено по умолчанию 'none'
.
Я недавно мигрировал из Angular 7в Angular 8, чтобы облегчить реализацию отложенной загрузки, но я не понимаю, почему это поместило бы заголовок CSP в default-src 'none'
по умолчанию.
Кроме того, некоторое время он работал просто отлично.
Однако, когда я запускаю свое приложение локально, в заголовке ответа я вижу эту строку:
Content-Security-Policy: default-src 'none'
Я также указываю, что эта строка неприсутствует в заголовке ответа в средах разработки и тестирования.
Заголовок ответа на локальном языке:
HTTP/1.1 404 Not Found
X-Powered-By: Express
Access-Control-Allow-Origin: *
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 139
Date: Mon, 28 Oct 2019 16:14:09 GMT
Connection: keep-alive
В других средах заголовок ответа не содержит строку Content-Security-Policy: default-src 'none'
.
Кроме того, я пытался добавить эту строку в мой файл index.html:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'"/>
Но это ничего не изменило, возможно, оно переопределенопо http-серверу (Webpack?).
Я полагаю, что в моей разработке и тестированииВ средах My Apache настроено не использовать CSP, поэтому заголовок не включает Content-Security-Policy
.
Как я могу сделать это локально? Поскольку это Angular 8, у меня нет доступа к конфигурации Webpack, я думаю, что он обрабатывается в @angular-devkit/build-angular
. (Хотя к нему можно получить доступ через плагин, такой как custom-webpack
, который я прочитал, но я бы предпочел этого избежать)
Я не думаю, что Angular использует конфигурацию по умолчанию, где Content-Security-Policy: default-src 'none'
- этополитика по умолчанию. (по крайней мере, это должно быть self
)
Наконец, вот часть файла angular.json, который использовался для сборки локальной конфигурации:
"configurations": {
"local": {
"optimization": true,
"outputHashing": "none",
"sourceMap": true,
"extractCss": true,
"namedChunks": true,
"aot": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": false
},
Дайте мне знать, если другойФайл конфигурации (tsconfig, package ...) может быть полезен здесь.