Почему не установлено соединение с публичным IP-адресом ec2 - PullRequest
0 голосов
/ 16 февраля 2019

Мы создали устройство системы слежения за автотранспортными средствами (VTS). У меня есть PHP-скрипт, который прослушивает соединение с клиентом.

Соединение устанавливается, когда мы подключаемся с использованием частного IP экземпляра EC2, нокогда мы пытаемся вставить внешний или публичный IP-адрес в скрипт php, он показывает ошибку.

Как я могу решить эту проблему?

Я запустил виртуальную машину Linux с AmazonEC2.Затем подключитесь к экземпляру Linux из Windows, используя putty.Есть скрипт php, который прослушивает входящие соединения.Когда я ставлю частный IP-адрес EC2, он подключается, но когда я ставлю публичный IP, он выдает ошибку «невозможно связать ip [99]»

public function __construct($bind_ip,$port)
{
    set_time_limit(0);
    $this->hooks = array();

    $this->config["ip"] = $bind_ip;
    $this->config["port"] = $port;

    $this->master_socket = socket_create(AF_INET, SOCK_STREAM, 0);
    socket_bind($this->master_socket,$this->config["ip"],$this->config["port"]) or die("Issue Binding");
    socket_getsockname($this->master_socket,$bind_ip,$port);
    socket_listen($this->master_socket);
    SocketServer::debug("Listenting for connections on {$bind_ip}:{$port}");
}

Мы хотим получить данные из транспортного средстваустройство слежения.Мы можем установить IP-адрес для этого устройства и поместить его в скрипт PHP, но когда я запускаю его с использованием публичного IP-адреса, он выдает ошибку «невозможно связать ip [99]»

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Убедитесь, что группы безопасности экземпляра EC2 настроены правильно.Попробуйте использовать telnet, используя ip и порт, который вы настроили в экземпляре EC2.например, telnet 192.168.0.10 25, (25 - номер порта).

0 голосов
/ 16 февраля 2019

Системам VTS требуются статические IP-адреса.Вы публичный, который вы помещаете, статичен?Публичные ips в большинстве случаев являются подсетями.

...