我有一个node.js应用程序提供静态文件(html,js,css)。在静态文件中,完成了一些ajax请求(在请求中使用/ TEST)。我需要将这些请求代理到在localhost上运行的另一台服务器:213445。静态页面显示正常,但,当涉及到代理的请求时,它永远挂...nodejs代理没有响应
我的代码是:
var express = require("express");
var httpProxy = require('http-proxy');
var fs = require('fs');
// Create https server
var app = express.createServer({
key: fs.readFileSync('privatekey.pem'),
cert: fs.readFileSync('certificate.pem')
});
// Handle static files
app.use(express.static(__dirname + '/public'));
// Proxy request
app.all('/TEST/*',function(req, res){
// Remove '/TEST' part from query string
req.url = '/' + req.url.split('/').slice(2).join('/');
// Create proxy
var proxy = new httpProxy.HttpProxy();
proxy.proxyRequest(req, res, {
host: 'localhost',
port: 21345,
enableXForwarded: false,
buffer: proxy.buffer(req)
});
});
// Run application
app.listen(10443);
事实上,经过一段时间后,我决定采取相反的行动。如果请求了静态文件,Nginx将为它们提供服务。如果请求一些动态文件,那么Nginx将它们代理到我的node.js应用程序。我认为这是更多Nginx的工作来提供静态文件。 – Luc
现在有同样的问题并使用相同的解决方案。仍然讨厌使用静态代码破坏代理 –