Far*_*baz 5 node.js express nextjs
我正在使用 Next 创建一个 Web 应用程序,我想x-powered-by
从响应头中删除,我尝试创建自定义服务器并使用 expressjs.disable('x-powered-by')
但它没有用。
这是我所做的:
const express = require('express')
const next = require('next')
const port = parseInt(process.env.PORT, 10) || 3001
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()
app.prepare()
.then(() => {
const server = express()
.use(handle)
server.disable('x-powered-by'); // ???
server.listen(port, (err) => {
if (err) throw err
console.log(`> Ready on http://localhost:${port}`)
})
})
Run Code Online (Sandbox Code Playgroud)
对我来说,当我使用server.disable('x-powered-by');
, 时,最终得到了Next.js 7.0.2
价值x-powered-by
。
添加以下行next.config.js
应该可以
module.exports = {
poweredByHeader: false,
...
}
Run Code Online (Sandbox Code Playgroud)
或者
const app = next({ dev, xPoweredBy: false })
Run Code Online (Sandbox Code Playgroud)
以下代码有效。您在这里所做的操作是正确的,可以从 Express 中删除 X-Powered-By 标头。因为您使用的是 Next,所以需要禁用Next 和 Express X-Powered-By 标头。
我没有找到 Next 的 api 来禁用。但你可以直接改变对象app.config.poweredByHeader = false
const express = require('express')
const next = require('next')
const port = parseInt(process.env.PORT, 10) || 3001
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()
app.config.poweredByHeader = false
app.prepare()
.then(() => {
const server = express().use(handle)
server.disable('x-powered-by'); // This disables Express Header
server.listen(port, (err) => {
if (err) throw err
console.log(`> Ready on http://localhost:${port}`)
})
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3592 次 |
最近记录: |