Не удается подключиться к моему виртуальному серверу Ubuntu через WebSocket на указанном порту с хост-компьютера

У меня есть сервер Ubuntu (Ubuntu 20.04.2 LTS), установленный на Hyper-V с Externalинтерфейс, у него свой IP. Я подключаюсь к нему с помощью Putty через SSH, и он работает.

На этой машине я установил свой собственный сервис, который работает как сервер WebSocket, прослушивающий порт 50000.

Я протестировал его с клиентом, работающим на той же виртуальной машине, подключившись к ws://localhost:50000/. Оно работает.

Затем я запустил тот же тестовый клиент со своего хоста, подключившись к ws://ubuntu-vm:50000/. Запись DNS ubuntu-vmразрешает внешний IP-адрес моей виртуальной машины. Я использую его для подключения к виртуальной машине с помощью Putty.

ping ubuntu-vmконечно работает корректно.

Вот подробное сообщение об ошибке, которое я получаю:

HttpRequestException: не удалось установить соединение, так как целевая машина отказалась от него. (убунту-вм:50000)

Где-то еще я читал, что мне нужно добавить правило в брандмауэр Ubuntu, поэтому я сделал это:

      sudo ufw allow from any to any port 50000 proto tcp
sudo ufw allow from any to any port 50000 proto udp

Это не помогло. Он работает с виртуальной машины, он не работает с хоста, который видит виртуальную машину, пингует виртуальную машину и подключается к виртуальной машине через SSH.

IDK, возможно, проблема специфична для Hyper-V, но, может быть, я мог бы попробовать что-то в конфигурации моего сервера?

0 ответов

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