|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
||||||
Сервис на TcpClient и NGINX20.06.2024, 14:38. Показов 1631. Ответов 26
Метки нет (Все метки)
День добрый!
Есть сервер на Ubuntu, на котором развернут NGINX и установлена служба, написанная на .Net6 с TcpClients. Для службы есть клиентское приложение, написанное на том же .Net6 с TcpClients. Суть такая - клиентское приложение (клиент1) посылает в stream TcpClient поток байт с данными, которые улетают на сервер с someSite.ru:80. На сервере NGINX перенаправляет все это на 127.0.0.10:6560, который прослушивается службой с TcpListner. Служба получив данные, через поток TcpClient отправляет эти данные клиенту2 во внешний мир (тобишь обратно через NGINX). Если установить клиента и сервера на локальный ПК (приложения кроссплатформенные, поэтому тестировал и на Ubuntu и на Windows) и указать обоим ip 127.0.0.10 и порт 6560, то они коннектятся и обмен происходит без проблем. Проблемы начинаются когда перекидываю служу на сервер - клиенты не могут до нее достучаться из вне. Причем дело не доходит даже до самого подключения, не то что до обмена данными (когда TcpListner обнаруживает нового клиента, то в логи пишется уведомление, но таких уведомлений не появляется). Настройки NGINX:
Единственное отличие - клиент со службой передают в сокет чисто байты, а ASP приложения обмениваются GET-POST запросами. Возможно, нужно как-то оборачивать байты в HTTP перед передачей их в поток TcpClient, либо как-то по особому настраивать NGINX на работу с потоком байт. Буду благодарен за любую помощь, второй день уже бьюсь с проблемной
0
|
||||||
| 20.06.2024, 14:38 | |
|
Ответы с готовыми решениями:
26
Ansible role для устаноки и настройки nginx конкретной версии из репозиториев Nginx Cвязка Nginx-Nginx как ограничить доступ к бэкэнду? Почему NGINX на сервере с Linux выдает 502 ошибку, в то время как без NGINX все работает? |
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|
| 24.06.2024, 15:23 [ТС] | |
|
У меня сейчас по первому варианту работает. Клиентов много не будет, там чисто внутренний сервис на 4-6 клиентов максимум.
Логика для мультиплексирование не проблема, просто смысла не вижу - клиенты подключаться могут на весь день и их всего несколько штук. Плюс нужно чтоб инициатором общения могла быть любая сторона, а для этого надо держать открытый сокет (если я все правильно понимаю).
0
|
|
|
4695 / 2702 / 735
Регистрация: 02.08.2011
Сообщений: 7,236
|
|
| 24.06.2024, 15:35 | |
|
Все же непонятно зачем скрывать один application protocol за другим.
WebSocket - тот же TCP, только инициирование соединения происходит по http. Вообщем пробуйте, для начала бы какой-нибудь concept proof, что-ли, надо сделать, чтобы проверить работоспособность.
0
|
|
|
|
||
| 24.06.2024, 16:08 | ||
|
0
|
||
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
|||
| 24.06.2024, 17:07 [ТС] | |||
|
Плюсом еще вычитал где-то лет 5 назад, что нужно стараться открывать минимум портов на сервере. С сетями только сейчас начинаю плотно работать, а эта цитата из головы не выветрелась)
0
|
|||
|
14784 / 9558 / 1366
Регистрация: 21.01.2016
Сообщений: 36,046
|
||
| 25.06.2024, 02:23 | ||
|
0
|
||
|
|
||
| 25.06.2024, 11:22 | ||
|
0
|
||
|
6 / 6 / 1
Регистрация: 09.02.2016
Сообщений: 296
|
||
| 28.06.2024, 14:37 [ТС] | ||
|
0
|
||
| 28.06.2024, 14:37 | |
|
почему my $nginx = `nginx -t` сразу уходит в stdout Сайт на чистом NGINX или APACHE + NGINX Nginx + FPM vs Nginx + mod_php Laravel расскажите про сервис провайдеры и сервис контейнеры Сервис для уведомлений. Ошибка на небольшом кол-ве клиентов. Сервис слишком занят, чтобы обработать запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|