AWS EC2 Windows Server 2016 公开端口 80
AWS EC2 Windows Server 2016 expose port 80
我想做的是从外部访问我的 EC2 上的网络服务器。
这是我目前所做的:
- 我已经在 EC2 的安全组中为 IPv4 和 IPv6 的任何地方打开所有传入流量
- 在 EC2 的控制面板中为 public 和私有
禁用了防火墙
- 在端口 80 上启动了我的网络服务器
从 ec2 外部:
- 我可以ping通EC2
- 如果我 运行
telnet <my ec2 ip> 80
我得到 telnet: Unable to connect to remote host: Connection refused
- 如果我运行
nmap <my ec2 ip>
端口80没有列出
从 ec2 内部:
- 我能够在 EC2 的浏览器中从 localhost:80 连接
- 如果我 运行
netstat -aon
它表明它正在侦听端口 80
您的 EC2 实例是否在自定义 VPC 中?如果是这样,请查看将 Internet 网关附加到 VPC 并更新与您的实例所在的子网关联的路由表 运行。
确保您的网络服务器绑定到外部网络接口。
使用0.0.0.0
将确保可以从任何接口建立连接。另一方面,使用 127.0.0.1
(localhost
) 会产生如您所描述的行为,您可以在本地连接到 Web 服务器,也可以从外部访问主机(例如通过 ping
) 但无法连接到外部网络服务器。
对于这个答案,我假设您使用 IIS 作为 Web 服务器。
1) 启动 Internet 信息服务 (IIS) 管理器。
2) 展开左侧面板 "Connections" 并在 "Sites" 下找到您的 Web 服务器。
3) Select 您的网站。在右侧面板中单击 "Bindings"。
4) 将打开一个 "Site Bindings" 对话框。
5) 在选项卡 "IP Address" 下,确保显示星号,以便服务器在启动时绑定到所有网络接口。
5) 在 "Manage Website" 下的右侧面板中单击 "Restart"。
我想做的是从外部访问我的 EC2 上的网络服务器。
这是我目前所做的:
- 我已经在 EC2 的安全组中为 IPv4 和 IPv6 的任何地方打开所有传入流量
- 在 EC2 的控制面板中为 public 和私有 禁用了防火墙
- 在端口 80 上启动了我的网络服务器
从 ec2 外部:
- 我可以ping通EC2
- 如果我 运行
telnet <my ec2 ip> 80
我得到telnet: Unable to connect to remote host: Connection refused
- 如果我运行
nmap <my ec2 ip>
端口80没有列出
从 ec2 内部:
- 我能够在 EC2 的浏览器中从 localhost:80 连接
- 如果我 运行
netstat -aon
它表明它正在侦听端口 80
您的 EC2 实例是否在自定义 VPC 中?如果是这样,请查看将 Internet 网关附加到 VPC 并更新与您的实例所在的子网关联的路由表 运行。
确保您的网络服务器绑定到外部网络接口。
使用0.0.0.0
将确保可以从任何接口建立连接。另一方面,使用 127.0.0.1
(localhost
) 会产生如您所描述的行为,您可以在本地连接到 Web 服务器,也可以从外部访问主机(例如通过 ping
) 但无法连接到外部网络服务器。
对于这个答案,我假设您使用 IIS 作为 Web 服务器。
1) 启动 Internet 信息服务 (IIS) 管理器。
2) 展开左侧面板 "Connections" 并在 "Sites" 下找到您的 Web 服务器。
3) Select 您的网站。在右侧面板中单击 "Bindings"。
4) 将打开一个 "Site Bindings" 对话框。
5) 在选项卡 "IP Address" 下,确保显示星号,以便服务器在启动时绑定到所有网络接口。
5) 在 "Manage Website" 下的右侧面板中单击 "Restart"。