Назад | Перейти на главную страницу

Не удается получить доступ к AWS EC2 через порт 8545 для запущенного приложения

Я установил EC2 t2.micro с единственной целью - разместить тестовую сеть Ethereum на порту 8545. Короче говоря, я подключился по SSH к Linux-машине, установил NVM, последняя версия Node и пакеты, необходимые для того, что мне нужно было выполнить. После запуска ganache-cli инструмента командной строки для быстрого создания тестовых сетей Ethereum я получаю эту обратную связь от пакета

Listening on 127.0.0.1:8545

Я получил свой общедоступный IP-адрес от экземпляра EC2 и попытался подключиться к этому порту. При включении тестовой сети локально это работает и дает мне ответ HTTP 400, но при попытке подключиться к EC2 он просто не выполняет запрос без ответа. Группа безопасности в экземпляре EC2 разрешает весь HTTP-трафик на любом порту, а NACL в подсети, в которой он находится, также разрешает весь входящий HTTP-трафик.

Для проверки работоспособности я установил apache на экземпляр и снова подключился к общедоступному IP-адресу через порт 80. Я получил приветственное сообщение Apache, поэтому с экземпляром EC2 все в порядке. Есть ли еще один шаг, который я должен выполнить в терминале, который мне полностью не хватает, чтобы открыть порт?

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

Listening on 127.0.0.1:8545

Как показано в README и в документации, вам необходимо использовать -h возможность указать имя хоста, если вы хотите принимать внешние соединения. Например:

ganache-cli -h 0.0.0.0

Скорее всего, в вашей группе безопасности разрешен только порт 80. Попробуйте явно разрешить порт 8545 в вашей группе безопасности. «Разрешить HTTP» в группе безопасности разрешает только порт «80». Для перекрестной проверки попробуйте запустить apache на другом порту, а затем попытаться получить к нему доступ.