我试图创建一个中间件来重定向我所有的路由到https,我想我需要一个中间件,所以我在Nuxt的中间件文件夹中创建了一个redirect.js
文件,然后我将此添加到nuxt.config.js
:
router: {
middleware: ["redirect"]
},
下面是我的redirect.js
文件,它给了我一个服务器错误:
export default function({ app }) {
if (process.env.NODE_ENV === "production") {
if (app.context.req.header("x-forwarded-proto") !== "https") {
app.context.res.redirect(`https://${app.context.req.header("host")}${app.context.req.url}`);
}
}
}
3条答案
按热度按时间wf82jlnq1#
我发现了一个更简单的方法,我已经添加了包重定向-ssl
然后我在nuxt.config.js中添加了这一行:
ymdaylpp2#
你可以在heroku中配置这个。
对于Nuxt静态模式:
1.在buildpacks下的heroku/nodejs buildpack之后添加https://github.com/heroku/heroku-buildpack-static.git buildpack
1.确保将构建包按此顺序添加到项目根目录下的
app.json
中static.json
root
和https_only
设置正确routes
。static.json示例:
ix0qys7i3#
对于nuxt 3(它与heroku一起工作):