To fix hostname/IP does not match certificate’s altnames with Node.js and JavaScript, we create a proxy.
For instance, we write
const httpProxy = require("http-proxy");
const proxy = httpProxy.createProxyServer();
proxy.web(req, res, {
changeOrigin: true,
target: "https://example.com:3000",
});
to create a proxy
with the http-proxy
package.
We call createProxyServer
to create the proxy.
And we set the target
to the destination URL to proxy to.
If we’re using HTTPS, we write
const httpProxy = require("http-proxy");
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 call createServer
to create the proxy server.
We set the SSL key and certificate files.
And we set the target
to the destination URL to proxy to.
We set secure
to true
to let us proxy HTTPS traffic.