nodejs http-proxy not passing URL

830 Views Asked by At

I'm using http-proxy module and I'm trying to send the request to port 1234 and gets its reply back. But in the apache logs I can see that request is only to /. The documentation says to use toProxy: true in order to pass the URL but it isn't working.

https://github.com/http-party/node-http-proxy

  • toProxy: true/false, passes the absolute URL as the path (useful for proxying to proxies)

Here is the code:

var http = require('http');
var httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer();
var fs = require('fs');

http.createServer(function(req, res) {
    return proxy.web(req, res, { target: {host: 'localhost', port: 1234},
        ssl: {
                key: fs.readFileSync('/root/test.pem', 'utf8'),
                cert: fs.readFileSync('/root/test_cert.pem', 'utf8')
                        },
                toProxy: true
        });

}).listen(3000);

I'm using curl to test and checking the apache logs which is listening on port 1234.

curl -v http://localhost:3000/getsomething.html
1

There are 1 best solutions below

0
user13339470 On

Figured it out. I had to include protocol.

return proxy.web(req, res, { target: { protocol: 'https:', host: 'localhost', port: 1234},