Как заставить require('http'). CreateServer(). Listen(port).on('connect', fn) работать на Openshift 3 Online?

const http = require('http');
const server = http.createServer(...).listen(8080);
server.on('connect', (req, cltSocket, head) => {
  console.log('This step will never be activated!');
  ...
  if (...) {
    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 3 онлайн require('http').createServer().listen(port).on('connect', fn) никогда не будет активирован. Кто-нибудь знает механизм, стоящий за этим сложным поведением и как его решить?

PS На самом деле это не дублированный вопрос, потому что в "Как открыть внутренний порт в Openshift 3 Online" речь идет об открытии внутреннего порта. Расширенный вопрос - "Как получить require('http'). CreateServer(). Listen(port).on('connect', fn) для работы в Openshift 3 Online".

1 ответ

Решение

Openshift Online блокирует событие "connect", обратный прокси обрабатывает его и возвращает ошибку 502. Событие никогда не достигнет вашего стручка.

Другие вопросы по тегам