Sometimes, we want to fix the hostname or IP not matching certificate’s altnames with Node.js.
In this article, we’ll look at how to fix the hostname or IP not matching certificate’s altnames with Node.js.
How to fix the hostname or IP not matching certificate’s altnames with Node.js?
To fix the hostname or IP not matching certificate’s altnames with Node.js, we can use http-proxy with changeOrigin to true.
For instance, we write
const proxy = httpProxy.createProxyServer();
proxy.web(req, res, {
changeOrigin: true,
target: 'https://example.com:3000'
});
to create a proxy to proxy the traffic to example.com:3000.
Then we create the server with
httpProxy.createServer({
ssl: {
key: fs.readFileSync('valid-ssl-key.pem', 'utf8'),
cert: fs.readFileSync('valid-ssl-cert.pem', 'utf8')
},
target: 'https://example.com:3000',
secure: true
}).listen(443);
to read the key and certificate with fs.readFileSynbc and then we set target to the hostname we’re hosting our server from.
Conclusion
To fix the hostname or IP not matching certificate’s altnames with Node.js, we can use http-proxy with changeOrigin to true.