gpt4 book ai didi

javascript - 无法禁用 X-Powered-By : Express

转载 作者:搜寻专家 更新时间:2023-11-01 00:19:37 33 4
gpt4 key购买 nike

我试过使用它,但没有用:app.disable("x-powered-by");我读过这样的帖子:

how to remove X-Powered-By in ExpressJS

Can't get rid of header X-Powered-By:Express

Iam using "express": "^4.16.4" as backend. in frontend iam using "react": "^16.7.0" Single Page App.

更新

express.js 在 5000 端口3000端口的react.js

当我尝试点击这个 URL http://localhost:5000/api/product x-powered-by :express 消失了。

当我尝试访问 API 时在我的 React 应用程序中 http://localhost:5000/api/product它将再次显示 x-powered-by:express

每次使用 API http://localhost:5000/api/product这意味着我得到了 node.js/express 服务器 x-powered-by : express

Cant Disable X-powered-by express

但是当我尝试 console.log(app); 我得到了这个:

          settings:
[0] { 'x-powered-by': false,
[0] etag: 'weak',
[0] 'etag fn': [Function: generateETag],
[0] env: 'development',
[0] 'query parser': 'extended',
[0] 'query parser fn': [Function: parseExtendedQueryString],
[0] 'subdomain offset': 2,
[0] 'trust proxy': false,
[0] 'trust proxy fn': [Function: trustNone],
[0] view: [Function: View],
[0] views: 'D:\\WEBSITE\\hammerstout_nodejs_client\\views',
[0] 'jsonp callback name': 'callback' } },

'x-powered-by': false, 这应该有效吗?

代码

import express from 'express';
import bodyParser from 'body-parser';
// import passport from 'passport';
import connection from './config/conn';
import { CategoryRoutes,ProductRoutes } from './modules';
import session from 'express-session';
const app = express();
app.disable("x-powered-by");
console.log(app);
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// app.use(passport.initialize());

app.use('/api/', [CategoryRoutes, ProductRoutes]);


const port = process.env.PORT || 5000;
app.listen(port, (err) => {
if(err){
console.log(err);
}else{
console.log(`Server running on port ! ${port}`);
}

});

最佳答案

我的 Angular 应用程序也有同样的效果。我正在使用 Angular 代理(最后是 webpack-dev-server)来访问我的服务器(避免 CORS 问题)。

当我使用 postman 或浏览器访问服务器上的 REST-API(在端口 3000 上)时,响应不包含“x-powered-by” header 。使用代理访问与我的 Angular 应用程序(在端口 4200 上)相同的服务器显示标题。

我的发现是:webpack-dev-server 使用 express 作为基础;所以我假设“错误” header 来自代理服务器,而不是来自端口 3000 上的服务器。

关于javascript - 无法禁用 X-Powered-By : Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54068126/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com