阿里云服务器开通80端口需依次配置安全组、系统防火墙及Web服务:先在安全组添加HTTP(80)入方向规则(授权对象0.0.0.0/0),再检查iptables/firewalld是否放行,最后确认Nginx/Apache运行状态、监听80端口、index.html路径权限正确。

能直接访问 index.html,说明 Web 服务已跑起来、文件放对位置、端口和防火墙也通了——但绝大多数人卡在中间某一步,不是代码问题,是路径、权限或安全组没配对。
确认 Apache 或 Nginx 是否真在运行
很多人执行了 systemctl start httpd 或 systemctl start nginx 就以为完事,其实服务可能启动失败后自动退出。必须验证真实状态:
- 查进程:
ps aux | grep -E '(httpd|nginx)'—— 没输出就代表没活 - 看状态:
systemctl status httpd(CentOS)或systemctl status apache2(Ubuntu),重点看最后一行是不是active (running) - 试监听:
ss -tlnp | grep ':80',确认 80 端口被哪个进程占着;如果没结果,说明服务根本没监听
常见坑:CentOS 7 默认装 httpd,Ubuntu 默认装 apache2,命令名、配置路径、默认根目录都不同,别套用错。
检查 index.html 是否放在正确路径且有读权限
Apache 和 Nginx 的默认根目录不统一,硬塞进错地方就 403 或 404:
立即学习“前端免费学习笔记(深入)”;
- Apache(CentOS):
/var/www/html/—— 放这里最省事 - Apache(Ubuntu):
/var/www/html/(同上,但注意用户属主是www-data) - Nginx(通用):
/usr/share/nginx/html/或/var/www/html/,取决于配置;建议先查:grep -r "root " /etc/nginx/
放对了也不一定行——ls -l /var/www/html/index.html 看权限是否为 -rw-r--r--(至少 group/o 可读);若属主是 root 但 Web 进程以 apache 或 www-data 身份跑,没读权就会 403。
阿里云安全组必须放行 80 端口(不是本地防火墙)
很多人关了 firewalld 或 ufw 就以为通了,但阿里云的「安全组」是独立于系统防火墙的网络层 ACL,必须手动开:
- 登录阿里云控制台 → 云服务器 ECS → 实例 → 点击实例 ID → 「安全组」→ 「配置规则」
- 添加入方向规则:协议类型选
HTTP(80),授权对象填0.0.0.0/0(测试用),或更严格的 IP 段 - 别只信“已启用”,要点开规则详情确认端口范围是
80/80,不是8080/8080或1-65535
改完规则不用重启服务器,但浏览器要清缓存再试——有些 404 是 DNS 或代理缓存导致的假象。
访问时 URL 必须带协议且避免拼写错误
新手常输错这三类地址,直接 无法连接:
- 漏
http://:浏览器会当成搜索词,不是请求;必须输http://123.56.78.90/index.html,不能只输123.56.78.90/index.html - 输成内网 IP:
ifconfig或ip a看到的172.x.x.x或192.168.x.x是内网地址,外网打不开 - 混淆弹性公网 IP 和私有 IP:在 ECS 控制台「实例详情」页顶部找「公网 IPv4 地址」字段,那个才是你要用的
真正麻烦的从来不是放一个 index.html,而是每层(网络层、系统层、服务层、文件层)都有自己的“同意”机制——少一个点头,页面就出不来。


















