Проблема с экземпляром AWS EC2 при подключении его к WebSocket

Когда я пытался запустить чат-приложение с локального хоста, подключенного к базе данных MySQL, которая была закодирована с помощью PHP через WebSocket, это было успешно. установление соединения: net :: ERR_CONNECTION_TIMED_OUT

Я даже пытался назначить общедоступный IP-адрес и частный IP-адрес, но безуспешно, это привело к тому же старому результату?

Как я могу разрешить / преодолеть, особенно при подключении через WebSocket с размещенного сервера с доменным именем, например http://ec3-193-123-96.eu-central-1.compute.amazonaws.com/

var conn = new WebSocket('ws://localhost:8383');

Как нам нужно настроить виртуальный сервер для запуска ваших собственных сервисов в экземпляре AWS EC2?

Обновление:

из группы безопасности

  • на вкладке «Входящие» enter image description here

  • На вкладке "Исходящие" enter image description here

2
задан 17 October 2018 в 10:31
1 ответ

Убедитесь, что группа безопасности EC2 , связанная с экземпляром, разрешает доступ ко всем вашим портам, 8282, 8383 и т. д.

Также к какому IP или имени хоста пытается подключиться ваш JS-код? Это публичный / эластичный IP-адрес экземпляра EC2? Так должно быть. Больше ничего работать не будет.

Обычно JS-код обращается к тому же серверу, который обслуживал веб-страницу, т.е. если URL-адрес https://www.example.com/ , JavaScrips будет затем подключаться обратно к ws: / /www.example.com:8282/ - не кодируйте жестко имена хостов, вместо этого используйте то, что было использовано в URL-адресе. Это может быть IP-адрес, каноническое имя или какой-то адрес ec2-12-34-56-78.eu-west-2 ..., все это должно работать независимо от того, что вводит пользователь.

Надеюсь, это поможет: )

1
ответ дан 3 December 2019 в 12:31

Теги

Похожие вопросы