Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何访问运行在AWS EC2 Ubuntu';是本地主机吗?_Amazon Web Services_Amazon Ec2_Parse Server - Fatal编程技术网

Amazon web services 如何访问运行在AWS EC2 Ubuntu';是本地主机吗?

Amazon web services 如何访问运行在AWS EC2 Ubuntu';是本地主机吗?,amazon-web-services,amazon-ec2,parse-server,Amazon Web Services,Amazon Ec2,Parse Server,我有一个运行Ubuntu的AWS EC2实例。 我在它上面有一个解析服务器,运行在本地主机上,端口1337。我已在实例的安全组中启用该端口 我尝试使用wget命令检查是否以及如何访问实例的localhost,并检查是否存在连接或连接被拒绝,结果如下: $ wget http://<Public IP>:1337/parse Connecting to <Public IP>:1337... failed: Connection refused. $ wget http:

我有一个运行Ubuntu的AWS EC2实例。
我在它上面有一个解析服务器,运行在本地主机上,端口1337。我已在实例的安全组中启用该端口

我尝试使用
wget
命令检查是否以及如何访问实例的
localhost
,并检查是否存在连接或连接被拒绝,结果如下:

$ wget http://<Public IP>:1337/parse
Connecting to <Public IP>:1337... failed: Connection refused.
$ wget http://<Private IP>:1337/parse
Connecting to <Private IP>:1337... failed: Connection refused.
$ wget http://localhost:1337/parse
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:1337... failed: Connection refused.
$ wget http://<Public DNS>:1337/parse
Resolving <Public DNS> (<Public DNS>)... <Private IP>
Connecting to <Public DNS> (<Public DNS>)|<Private IP>|:1337... failed: Connection refused.
$wget http://:1337/parse
连接到:1337。。。失败:连接被拒绝。
$wget http://:1337/parse
连接到:1337。。。失败:连接被拒绝。
$wgethttp://localhost:1337/parse
正在解析本地主机(本地主机)。。。127.0.0.1
正在连接到localhost(localhost)| 127.0.0.1 |:1337。。。失败:连接被拒绝。
$wget http://:1337/parse
正在解析()。。。
正在连接到()||:1337。。。失败:连接被拒绝。
如上所示,我检查了公共IP、公共DNS和私有IP。
它总是说它失败是因为
连接被拒绝了
,而且由于某种原因,甚至本地主机也被服务器拒绝了

如何使
本地主机
可从其内部网络外部访问并访问解析服务器?

两件事

首先,您不说什么服务器正在运行,而是对其进行更改,使其侦听所有地址。通常这是通过指定0.0.0.0作为绑定地址来实现的。执行此操作并重新启动服务器进程后,从服务器上的shell使用
ss
命令检查:

$ ss -nl|grep 8082
LISTEN     0      100                      :::4040                    :::*     
如果ss给出的“本地地址:端口”是127.0.0.1,那么它只在本地主机上侦听,不可访问

接下来,在浏览器的服务器外壳上使用主机名提供的地址

首先,您不说什么服务器正在运行,而是对其进行更改,使其侦听所有地址。通常这是通过指定0.0.0.0作为绑定地址来实现的。执行此操作并重新启动服务器进程后,从服务器上的shell使用
ss
命令检查:

$ ss -nl|grep 8082
LISTEN     0      100                      :::4040                    :::*     
如果ss给出的“本地地址:端口”是127.0.0.1,那么它只在本地主机上侦听,不可访问


接下来,在浏览器的服务器外壳上使用
主机名
给出的地址

公共IP地址通常与外部接口在本地使用的私有IP地址不同。要查看专用IP地址,可以运行:

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 0a:8c:dd:df:8d:ff brd ff:ff:ff:ff:ff:ff
    inet 172.19.240.213/24 brd 172.19.240.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::88c:ddff:fedf:8cff/64 scope link
       valid_lft forever preferred_lft forever
$ip地址
1:lo:mtu 65536 qdisc noqueue状态未知组默认值
链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
永远有效\u lft首选\u lft永远有效
inet6::1/128作用域主机
永远有效\u lft首选\u lft永远有效
2:eth0:mtu 9001 qdisc mq state UP组默认qlen 1000
链路/以太网0a:8c:dd:df:8d:ff brd ff:ff:ff:ff:ff:ff:ff
inet 172.19.240.213/24 brd 172.19.240.255范围全局eth0
永远有效\u lft首选\u lft永远有效
inet6 fe80::88c:ddff:fedf:8cff/64范围链接
永远有效\u lft首选\u lft永远有效
这显示了您的接口:
lo
,本地主机环回,是127.0.0.1<外部接口code>eth0,为172.19.240.213。请注意,它是172.16.0.0/12块中的一个私有IP,无法路由到internet。AWS应用另一层NAT,将最终公共IP地址映射到EC2实例


一般来说,您应该遵循Vorspring的建议,只需绑定到0.0.0.0即可。如果要直接绑定到
eth0
,可以像这样查找地址。

公共IP地址通常与外部接口在本地使用的私有IP地址不同。要查看专用IP地址,可以运行:

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 0a:8c:dd:df:8d:ff brd ff:ff:ff:ff:ff:ff
    inet 172.19.240.213/24 brd 172.19.240.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::88c:ddff:fedf:8cff/64 scope link
       valid_lft forever preferred_lft forever
$ip地址
1:lo:mtu 65536 qdisc noqueue状态未知组默认值
链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
永远有效\u lft首选\u lft永远有效
inet6::1/128作用域主机
永远有效\u lft首选\u lft永远有效
2:eth0:mtu 9001 qdisc mq state UP组默认qlen 1000
链路/以太网0a:8c:dd:df:8d:ff brd ff:ff:ff:ff:ff:ff:ff
inet 172.19.240.213/24 brd 172.19.240.255范围全局eth0
永远有效\u lft首选\u lft永远有效
inet6 fe80::88c:ddff:fedf:8cff/64范围链接
永远有效\u lft首选\u lft永远有效
这显示了您的接口:
lo
,本地主机环回,是127.0.0.1<外部接口code>eth0,为172.19.240.213。请注意,它是172.16.0.0/12块中的一个私有IP,无法路由到internet。AWS应用另一层NAT,将最终公共IP地址映射到EC2实例


一般来说,您应该遵循Vorspring的建议,只需绑定到0.0.0.0即可。如果要直接绑定到
eth0
,您可以像这样查找地址。

我通过使用EC2实例的公共IP解决了它,并且我能够访问运行在它上面的解析服务器。

我通过使用EC2实例的公共IP解决了它,并且我能够访问运行在它上面的解析服务器。

我已经更新了整个问题。请看一看。您已更新了问题,但答案保持不变!如果解析服务器绑定到地址127.0.0.1,则它是本地主机地址。从同一服务器上的shell,它应该可以工作。从其他地方看,它不会。根据Parse的文档,默认情况下它应该绑定到0.0.0.0。问题是它不可连接。它不可连接,因为您无法从服务器外部连接到地址localhost。我已更新了整个问题。请看一看。您已更新了问题,但答案保持不变!如果解析服务器绑定到地址127.0.0.1,则它是本地主机地址。从同一服务器上的shell,它应该可以工作。从其他地方看,它不会。根据Parse的文档,它应该通过