如何在 Openshift 3 Online 中打开内部端口?

How to open an internal port in Openshift 3 Online?

假设我想打开两个端口,一个用于 8080 的 public,另一个用于处理一些 public 请求但被 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.1localhost,因此不会将请求转发到正确的 pod...

没有理由不能从同一 pod 的任何容器中的任何进程通过 localhost127.0.0.1 连接到端口 9999。

您是否尝试过使用 oc rsh 访问 运行 容器并消失了:

curl localhost:9999

验证您的代码是否确实在端口 9999 上正确侦听?