Как заставить 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. Событие никогда не достигнет вашего стручка.