我目前正在尝试设置特定的响应头属性,如X帧选项、X内容类型选项、缓存控制和在我的Nuxt项目上设置Cookie SameSite。是否有一种在nuxt.config.js文件中显式声明这些头的简单方法?
我知道像头盔这样的外部模块是为了这个特定的目的而存在的,但是我不敢相信没有内置的东西--我可以用它来做这个,对吗?
发布于 2022-03-16 18:59:29
为此,可以使用服务器中间件,使用下面的代码创建一个headers.js (可以有任何名称)文件
import express from 'express';
const app = express();
app.use((req, res, next) => {
res.set({
"X-Frame-Options": "SAMEORIGIN",
"X-XSS-Protection": "1; mode=block",
"X-Content-Type-Options": "nosniff"
});
//or
res.set("Content-Security-Policy", "upgrade-insecure-requests; block-all-mixed-content;");
//or
res.header("Referrer-Policy", "strict-origin-when-cross-origin");
res.header("Feature-Policy", "camera 'none'; microphone 'none'");
res.header("Permissions-Policy", "camera=(), microphone=()");
next();
});
export default app;
如果使用的是server/middleware Nuxt3,则只需在nuxt.config.js目录中创建headers.js文件,对于Nuxt2,则需要在nuxt.config.js中指定该文件。
export default {
serverMiddleware: [
{ path: '/server-middleware', handler: '~/server-middleware/headers.js' }
]
};
https://stackoverflow.com/questions/71374246
复制相似问题