我使用以下node-express代码将请求从Web服务器代理到API服务器:
``` app.use('/api', createProxyMiddleware({ target: 'http://api.example.com', changeOrigin: true })); ```
此代码将所有以“/api”开头的请求代理到“http://api.example.com”。其中,“changeOrigin”选项用于更改请求的来源,以便API服务器可以正确地返回响应。
``` app.use('/api', createProxyMiddleware({ target: 'http://api.example.com', changeOrigin: true })); ```
此代码将所有以“/api”开头的请求代理到“http://api.example.com”。其中,“changeOrigin”选项用于更改请求的来源,以便API服务器可以正确地返回响应。
app.use('/api', function(req, res) {
var url = 'http://my.domain.com/api' + req.url;
req.pipe(request(url)).pipe(res);
});
对于任何动词(get、post等),这都很适用,但一旦我发送'Content-type': 'application/json'
请求,它会在pipe
行上挂起。
为什么这个简单的node-express代理代码会在json请求上挂起?
如何修改它以支持它们?
body-parser
会导致代理挂起吗? - Jonathan Livni