用华为云弹性云服务器跑一个静态站点:从安全组到访问的四步
先说结论
一台华为云弹性云服务器(ECS)要对外提供静态网页,真正要做对的只有四件事:实例能开机、安全组放行 80 端口、系统里的 Web 服务在监听、浏览器能打开公网 IP。下面按这个顺序写,每一步都给出可以核对的结果。
第一步:确认实例和弹性公网 IP
在控制台的弹性云服务器列表里,实例状态应是“运行中”。没有公网地址就先绑定一个弹性公网 IP(EIP)。记下来这个地址,后面每一步都用它验证。
在服务器上执行:
curl -4 ifconfig.me
返回的地址应当和控制台里的弹性公网 IP 一致。不一致就先不要往下配,多半是绑错了网卡。
第二步:安全组只放行需要的端口
安全组是实例网卡上的访问控制。入方向至少要有一条:协议 TCP,端口 80,源地址按需要填写。只给自己看就填自己的公网 IP 加 /32;给所有人看才填 0.0.0.0/0。22 端口同样不要对全网开放,改成自己的地址。
改完用本机测试,注意这只证明端口通了,不证明网页对:
curl -I --max-time 8 http://你的弹性公网IP
第三步:在系统里把页面放出去
以 openEuler 或 CentOS 为例,装一个 nginx,放一个最小页面:
dnf install -y nginx
mkdir -p /usr/share/nginx/html
printf '<h1>hello ecs</h1>
' > /usr/share/nginx/html/index.html
systemctl enable --now nginx
curl -I http://127.0.0.1
本机返回 200,说明服务本身没问题。如果本机通、外网不通,回去查安全组,再查系统防火墙:
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
第四步:用浏览器验收
浏览器打开 http://弹性公网IP 。能看到 hello ecs,这台机器的静态站点就算跑起来了。接下来再做三件收尾:页面放到单独目录而不是默认目录、用自己的域名做解析、需要登录的后台不要和这个 80 端口混在一台对公网的机器上。
常见卡住的地方
- 安全组改的是别的实例,列表里同名机器很容易看错。
- 弹性公网 IP 绑了,但域名还解析到旧地址。
- nginx 配了域名,用 IP 访问会落到默认站点,看起来像没生效。
- 公司网络拦截了 80 端口,换手机流量试一次。
做到这里,一台 ECS 上的静态站点就是可访问、可核对的。后面要上 HTTPS,再单独加证书和 443 端口,不要和这次的排查混在一起。
- 点赞
- 收藏
- 关注作者
评论(0)