GET /用户-api 用户代理 - 原始 URL:/users-api 用户代理 - 转发到:http://localhost/ 连4000都没有达到 如果我喜欢 目标:'http://localhost:4000/api/users', 直接设置目标就可以了
// Create proxy middleware for users API
const usersProxy = createProxyMiddleware({
target: 'http://localhost:4000',
changeOrigin: true,
pathRewrite: {
'^/users-api': '/api/users'
},
on: {
proxyReq: (proxyReq, req, res) => {
proxyReq.setHeader('X-Proxy-Service', 'users');
const targetUrl = `${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`;
console.log('Users Proxy - Original URL:', req.originalUrl);
console.log('Users Proxy - Forwarding to:', targetUrl);
},
proxyRes: (proxyRes, req, res) => {
proxyRes.headers['x-proxied-by'] = 'users-proxy';
},
error: (err, req, res) => {
console.error('Users Proxy Error:', err);
res.status(500).json({
error: 'Users Proxy Error',
message: err.message
});
}
}
});
// Apply proxy middlewares to specific routes
app.use('/users-api',usersProxy);
**GET /users-api 用户代理 - 原始 URL:/users-api 用户代理 - 转发到:http://localhost/ 如果我确实喜欢目标:'http://localhost:4000,它甚至不会达到 4000 /api/users',直接设置目标就可以了**
尝试自定义重写
pathRewrite: function (path, req) { return path.replace('/users-api', '/api/users') }