在阿里云 ECS 上配置公网 IP 访问,核心在于确保实例已绑定公网 IP(或弹性公网 IP)并放行安全组规则。以下是具体操作步骤:
✅ 一、确认实例是否已分配公网 IP
- 登录 阿里云控制台
- 进入 云服务器 ECS → 实例与镜像 → 实例
- 找到目标实例,查看「网络信息」列:
- 若显示 公网 IP(如
47.xx.xx.xx),说明已自动分配(仅限按量付费/部分包年包月实例默认开启)。 - 若显示 无公网 IP,则需手动绑定。
- 若显示 公网 IP(如
💡 提示:新建实例时可在“购买页面”勾选「分配公网 IPv4 地址」并选择计费方式(按固定带宽 / 按使用流量)。
🔗 二、为无公网 IP 的实例绑定弹性公网 IP(EIP)
适用于所有类型实例(尤其是包年包月默认无公网 IP 的情况):
方法 A:通过控制台绑定 EIP
- 进入 专有网络 VPC → 弹性公网 IP(EIP)
- 点击 创建弹性公网 IP:
- 选择地域(需与 ECS 实例一致)
- 带宽峰值 & 计费方式(推荐「按使用流量」节省成本)
- 点击「立即购买」
- 选中刚创建的 EIP → 点击 关联实例
- 选择目标 ECS 实例及网卡(通常为
eth0)→ 确认关联
✅ 完成后,ECS 即拥有独立公网 IP(可动态解绑/更换)。
方法 B:将普通公网 IP 转为 EIP(可选)
若原实例已有固定公网 IP,也可将其转换为 EIP 以获得更灵活管理(如跨可用区迁移时保留 IP)。
🔐 三、配置安全组规则(关键!)
即使有公网 IP,若安全组未放行对应端口,仍无法访问。
- 在 ECS 详情页 → 点击实例 ID → 安全组 标签页
- 点击当前安全组名称 → 配置规则
- 添加 入方向规则:
- 协议类型:TCP/UDP(根据服务需求,如 Web 选 TCP 80/443)
- 端口范围:如
80/80、22/22(SSH)、3306/3306(MySQL)等 - 授权对象:
0.0.0.0/0(允许全网访问)⚠️ 生产环境建议限制为特定 IP 段 - 优先级:数字越小优先级越高(默认 1)
| 示例(开放 SSH + HTTP): | 协议 | 端口 | 授权对象 | 策略 |
|---|---|---|---|---|
| TCP | 22 | 0.0.0.0/0 | 允许 | |
| TCP | 80 | 0.0.0.0/0 | 允许 | |
| TCP | 443 | 0.0.0.0/0 | 允许 |
⚠️ 注意:修改安全组后生效几乎实时(通常 <5 秒),无需重启实例。
🧪 四、验证公网访问
- 从本地终端测试连通性:
ping <ECS 公网 IP> telnet <ECS 公网 IP> 22 curl http://<ECS 公网 IP> -
若防火墙(如
ufw、firewalld)在系统内部开启,还需在 OS 层面放行端口(Linux 示例):# Ubuntu/Debian sudo ufw allow 22/tcp sudo ufw allow 80/tcp # CentOS/RHEL sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --reload
🔒 安全建议
- 避免长期对
0.0.0.0/0开放高危端口(如 MySQL 3306、Redis 6379); - 使用 SSH 密钥登录替代密码;
- 定期更新系统补丁;
- 启用阿里云「云盾」或 WAF 增强防护。
需要我帮你生成某类服务(如 Nginx + PHP + MySQL 建站)的完整安全组规则模板吗?
CLOUD云枢