Kons
Алексей
Kons
B
Mitya
Добрый день, кто нибудь проксировал webSocket через https://github.com/chimurai/http-proxy-middleware#websocket ?
Владимир
я
Mitya
const socket = new WebSocket('ws://localhost:3000/ws');
proxy('/ws', 'ws://localhost:9000',{changeOrigin:true, ws: true, pathRewrite: '^/ws’ : ''});
что не так?
Владимир
а что ты тут пытаешься сделать?
Владимир
а, с 3000 на 9000?
Владимир
pathRewrite странно записан
Mitya
клиент хочет получить WebSocket который на 9000, Я хочу чтобы снаружи был доступен только 3000 который проксирует webSocket на 9000
Владимир
у меня это примерно так выглядит
Владимир
Таймураз
Почему нельзя сразу без проксирования завести на нужном порту?
Mitya
new WebSocket('ws://localhost:3000/ws');
Как нибудь можно получить хук на /ws ?
Постоянно req.url === ‘/’
Mitya
в express
Mitya
AI
Народ, привет. Какой боди парсер для express или sails поддерживает windows-1251 кодировку?
столкнулся с:
Unable to parse HTTP body- error occurred :: 'Unsupported Media TypeError: unsupported charset "WINDOWS-1251"используя skipper
Таймураз
Не понял.
Ты другое приложение хочешь запроксировать в свое?
Таймураз
Используй nginx для этого
Mitya
Я хочу через веб сервер проксировать webSocket на сервер где работает API back-end.
Mitya
чтобы с клиента не обращаться по разным доменам.
Mitya
за HTML на 3000 а за webSocket на 9000
Таймураз
Mitya
Я не хочу ещё дополнительный сервер. Или через middleware невозможно организовать как и проксирование http ?
Владимир
ну вот как я показал, у меня проксируется все норм
Владимир
можно наверное сделать что-то типа
app.use(proxy('/ws', {target: 'http://localhost:9000', ignorePath: true, ws: true}))
Владимир
короч это точно работает, поиграйся с конфигами
Mitya
Я игрался, когда клиент коворит new WebSocket('ws://localhost:3000/ws'); то req.url -> / , и само собой внутри стоит проверка которая говорит что сейчас / и ничего проксировать не нужно.
Владимир
попробуй как я написал, просто через app.use
Mitya
Владимир
погоди, то есть ты напрямую вызываешь http-proxy?
Владимир
не миддлварью
Mitya
Я использую вот этот пакет http-proxy-middleware
Mitya
Проблема в том, что не понятно кто пришел с запросом в серверу, ws или обычный http.
Nurik
Вопрос для тех, кто с докерами рабоает и использует CI. Есть ли какой-то boilerplate чтобы посмотреть как организовать переменные окружения, конфиги уровня приложения и конфиги уровня image ?
A
немного странный вопрос, кто-то делал нотификации для телеграмма через ноду
A
к примеру юзер зашел на сайт и прилетело уведомление в телеграмм
andrei
A
а вот мне тоже интересно
andrei
откуда ты знаешь логин юзера в телеграме на сайте чтобы написать ему сообщение
Evgeny
A
ну вот npm либы, но там отправляет уведомления бот только после того, как ты отправил сообщение боту
A
я вот не смог найти метод, чтобы найти всех юзеров у которых есть бот
Evgeny
не понимаю проблему
Evgeny
можешь описать подробно по шагам?
A
человек заходит на аккаунт и должны сразу отравляться уведомления пользователя без движений в телеграмме с его стороны
Что в моем случае:
юзер логинится, потом пишем что-то боту и только после этого бот пишет(ибо у бота нет какой либо инфы о телеграмм юзерах) что-то типо:"юзер 1 залогинен"
Evgeny
кому отправяться?
AI
Народ, Может как то можно конвертировать весь запрос который в windows1251 в UTF-8?
Evgeny
куда заходит?
AI
типо bodyPreParser: require('iconv-lite')
AI
?
Evgeny
это, межддометие, бранное_слово не подробно
Таймураз
Mitya
Почему?
Таймураз
Почему?
Потому что nginx создан для таких задач
Он написан на сях и всячески поддерживает подобные задачи
A
куда заходит?
на мой сайт
Отправляются пользователю в телеграме с которым открыт чат у бота
Mitya
И что?
Mitya
мне 30 клиентов обслуживать нужно)
Evgeny
Mitya
Mitya
Решение через ноду.
Evgenii
я не понял что надо @MityaBorodin и почему Nginx для этого лучше
сomorsiс
ему нужен работающий прототип, переделать на nginx потом можно
Таймураз
Evgenii
Владимир
ну вот если у вас надо проксировать вебсокеты по разным серверам в зависимости от юзера в сессии
Владимир
то удачки с нджинксом
Evgenii
я поэтому и намекнул, что важно понимать постановку задачи более широко
Таймураз
Таймураз
Он на одной машине поднимает несколько нодных приложений
Хочет открыть только один порт для обоих
Для этого пробрасывает через основное приложение путь на другое
Но эту задачу превосходно решает nginx
Mitya
В общем я разобрался, пакет http-proxy-middleware работает нормально.
Таймураз
Отлично
удачи при малейшей нагрузке
Mitya
Да я сделал node веб сервер и от одает HTML, статические файлы, проксирует HTTP и webSocket.
Mitya
Да я абсолютно отдаю себе отчет, что при большом трафике это все сломается.
Evgenii
Mitya
:)
Владимир
я вот не понимаю
Владимир
приходит человек в чат