我使用以下代码并且它可以正常工作
proxy.web(req, res, {
changeOrigin: true,
target: 'http://' + hostname + ':' + port,
ws: true
});
但是当我尝试以下操作时出现错误,为什么?
proxy.web(req, res, {
target: {
host: 'http://' + hostname,
port: port
},
});
答案 0 :(得分:4)
因为httpProxy.createProxyServer使用url.parse,它将把字符串作为参数,你可以在这里看到documentatin https://nodejs.org/docs/latest/api/url.html
您可以在此处查看代理服务器代码 https://github.com/nodejitsu/node-http-proxy/blob/master/lib/http-proxy/index.js
参考行号:64
答案 1 :(得分:3)
这是因为它只适用于字符串。来自https://github.com/nodejitsu/node-http-proxy#options:
httpProxy.createProxyServer 支持以下选项:
目标:要使用url模块解析的url字符串