假设我想打开两个端口,一个在 8080 处为公众开放,另一个用于处理一些公共请求但被 8080 端口转发,如下所示:
const http = require('http');
const publicServer = http.createServer(...).listen(8080);
const privateServer = http.createServer(...).listen(9999);
publicServer.on('connect', (req, cltSocket, head) => {
...
if (...) {
// let srvSocket = net.connect('9999', 'localhost', () => {
let srvSocket = net.connect('9999', '127.0.0.1', () => {
cltSocket.write('\r\n\r\n');
srvSocket.write(head);
srvSocket.pipe(cltSocket);
cltSocket.pipe(srvSocket);
});
}
});
我可以使用某种类型的设置来允许这样做吗?目前看来 Openshift 不允许这种设置。它可能不尊重127.0.0.1
或localhost
因此不将请求转发到正确的 pod...