Article / 文章中心

使用VPC网络的ECS实例无法通过公网EIP访问的解决方法

发布时间:2019-11-19 点击数:2405

问题描述

Windows 2012系统的ECS实例中使用IIS服务的时候,由经典网络迁移到专有网络VPC之后出现以下问题。

•网站不可访问。

•直接访问ECS实例的弹性公网IP(EIP)地址时,显示“ERR_CONNECTION_REFUSED” 错误。

•打开了安全组相关访问策略,还是无法连通网站。

•使用telnet命令测试3389端口可通,测试80端口不通。

问题原因

ECS实例没有绑定内网IP地址。

解决方案

排查过程

1.登录服务器,执行如下命令,查看80端口是否被监听。

netstat  -ant

系统显示类似如下,80端口并未监听。

2.打开IIS,启动应用时报“无法启动此网站,其他网站可能正在使用同一端口”错误,说明80端口有冲突。

3.查看站点绑定的地址,站点全部绑定了EIP,原来经典网络的公网IP建议修改为全部未分配或者内网IP。

4.按照上述步骤操作后,还是无法显示监听80端口,但是直接通过localhost或者127.0.0.1访问站点,可以正常访问。

5.执行如下命令,查看监听的信息。

netsh http show iplisten

系统显示类似如下,没有绑定内网IP。

解决方法

1.执行如下命令,添加内网IP。

netsh http add iplisten ipaddress=[$IP]

注:[$IP]为内网IP地址。

系统显示类似如下。

2.执行如下命令,查看监听的信息。

netsh http show iplisten

系统显示类似如下,说明添加成功。

3.设置完成后,通过公网可以正常访问网站。

适用于

•云服务器ECS

阿里云服务器  阿里云金牌代理商