Политика безопасности содержимого не отображается в заголовках ответов

#express #content-security-policy

Вопрос:

У меня есть экспресс — сервер, работающий со следующей настройкой, но заголовки ответов Политики безопасности содержимого не отображаются в инструментах разработки Chrome- есть идеи?

 const express = require('express');
const app = express();

app.use((req, res, next) => {
    res.setHeader(
        'Content-Security-Policy',
        "default-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'; frame-src 'self'; upgrade-insecure-requests;"
    );
    next();
});

app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'server/static/index.html'));
});
 

Ответ №1:

Это не заголовок, а просто заголовок

 export function headers (req, res, next){
    res.header("Access-Control-Allow-Origin", "http://localhost:3000");
    res.header("Access-Control-Allow-Credentials", "true");
    res.header("Access-Control-Allow-Methods", "OPTIONS,HEAD,GET,PUT,POST,PATCH");
    res.header("Accept-Language", "es, en");
    res.header(
        "Content-Security-Policy",
        "default-src 'self'; base-uri: 'self'; strict-dynamic 'self'; manifest-src 'self'; script-src 'self'; style-src 'self'"
    );
    res.header(
        "Access-Control-Allow-Headers",
        "Origin, Csrf-Token, Accept-Language, Content-Type, Accept, Range"
    );

    next();
}
....
express.use(headers);
 

Существует один шлем для вызова пакетов, который является обязательным для любого экспресс-приложения

Комментарии:

1. Я попробовал шлем, но также не смог заставить работать политику безопасности контента.

2. использование res.header тоже не сработало. Явно что-то с моей установкой. Это работает на локальном хосте:3001 — имеет ли это какое-либо значение?