我已经建立了一个https服务器,并将我的证书全部存放在这里,看来没有问题。我的问题是,每当我运行得到的代码
var proxy = new http_proxy.HttpProxy({
^
TypeError: http_proxy.HttpProxy is not a constructor
at Object.<anonymous> (C:\Users\Adam.Wolarczuk\Desktop\Projects\nodetest\server.js:11:13)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
我试图在网络上找到问题,但似乎无法使其正常工作。
这是我的代码:
var http_proxy = require ('http-proxy'),
https = require('https'),
fs = require('fs');
var privateKey = fs.readFileSync("privatekey.pem").toString();
var cert = fs.readFileSync("newcert.pem").toString();
var options = {key: privateKey, cert: cert };
var proxy = new http_proxy.HttpProxy({
target:{
host: "localhost",
port: 8080
}
});
var s =https.createServer(options, function (req, res) {
console.log("Proxying!");
proxy.proxyRequest(req, res);
});
s.listen(8443);
答案 0 :(得分:0)
文档没有指定您的语法,也没有库导出您要初始化的模块。 RTFM https://www.npmjs.com/package/http-proxy
编辑
即使文档非常好,这还是带HTTPS节点服务器代理的示例:
var http_proxy = require ('http-proxy'),
https = require('https'),
fs = require('fs');
var privateKey = fs.readFileSync("privatekey.pem").toString();
var cert = fs.readFileSync("newcert.pem").toString();
var options = {key: privateKey, cert: cert };
var proxy = httpProxy.createServer({
ssl: {
key: privateKey,
cert
},
target: 'https://localhost:9010', // Send it anywhere
secure: true // Depends on your needs, could be false.
}).listen(443);
var s = https.createServer(options, function (req, res) {
console.log("Proxying!");
proxy.web(req, res);
});
s.listen(8443);