为什么没有与ec2公共IP建立连接

问题描述 投票:-1回答:2

我们已经建立了车辆跟踪系统(VTS)设备。我有一个PHP脚本,它监听客户端连接。

当我们使用EC2实例的私有IP连接时建立连接,但是当我们尝试在php脚本中放置外部IP或公共IP时,它会显示错误。

我怎么解决这个?

我已经推出了带有Amazon EC2的Linux虚拟机。然后使用putty从Windows连接到Linux实例。有一个php脚本可以监听传入的连接。当我把EC2的私有IP然后它连接,但当我把公共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]”

php amazon-web-services amazon-ec2 ip-address serversocket
2个回答
0
投票

VTS Systems需要静态IP。你确定你所使用的公众是静态的吗?公共ips在大多数情况下都是子网。


0
投票

请确保已正确配置EC2实例安全组。使用您在EC2实例中配置的ip和端口尝试telnet。对于Eg:telnet 192.168.0.10 25,(25是端口号)。

© www.soinside.com 2019 - 2024. All rights reserved.