Nuxt 3 如何实现CORS?

问题描述 投票:0回答:2

这与我关于 Nuxt 3 API 安全性的其他问题有关。如何添加 CORS?目前,使用头盔模块对我来说不起作用。

这是我上一个问题中的链接 Nuxt 3 阻止其他网站、应用程序或域访问我的 API?

nuxt.js nuxtjs3 nuxt3
2个回答
3
投票

有多种方法可以在您的应用程序上实施 CORS。

方法1. 使用 Nuxt3 Cors 模块。该模块使用流行的express中间件头盔模块。

方法2. 使用 Nuxt 的安全模块。不仅添加了 CORS 标头,还添加了更多安全功能。

方法3。 使用服务器中间件手动添加 CORS。

这是一个例子。

~/server/middleware/cors.ts

export default defineEventHandler((event) => {
    const headers = {
        'Access-Control-Allow-Origin': 'Same-Origin',
        'crossOriginResourcePolicy': 'same-origin',
        'crossOriginOpenerPolicy': 'same-origin',
        'crossOriginEmbedderPolicy': 'require-corp',
        'contentSecurityPolicy': "default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests",
        'X-XSS-Protection': 1
    }
    setHeaders(event, headers)

})

希望对您有帮助。


0
投票

就我而言,我在

nuxt.config.ts

设置代理
export default defineNuxtConfig({
    routeRules: {
        '/api/**': {
            proxy: { to: "https:/backend/**" },
         },
    },
}
© www.soinside.com 2019 - 2024. All rights reserved.