华为云 ECS 搭建 Nginx 静态站点,三层网络排查踩坑记录

举报
yd_233758914 发表于 2026/11/10 19:39:58 2026/11/10
【摘要】 最近在华为云 ECS 上部署静态演示页面,本以为安装 Nginx 就能直接外网访问,结果接连遇到访问超时、403 报错等问题,整理排查思路给新手参考。环境:华为云 ECS,CentOS 系统,用来放前端静态 H5 页面。一、部署流程简述安装 Nginxyum install nginx -ysystemctl start nginxsystemctl enable nginx准备静态资源,放...

最近在华为云 ECS 上部署静态演示页面,本以为安装 Nginx 就能直接外网访问,结果接连遇到访问超时、403 报错等问题,整理排查思路给新手参考。

环境:华为云 ECS,CentOS 系统,用来放前端静态 H5 页面。

一、部署流程简述

  1. 安装 Nginx
yum install nginx -y
systemctl start nginx
systemctl enable nginx
  1. 准备静态资源,放到自定义站点目录,修改 nginx.conf 配置,指定 root 网页路径。
  2. 执行nginx -t校验配置,校验无误后nginx -s reload重载生效。

二、重点踩坑:三层访问限制(最容易忽略)

很多新手装好 Nginx,本地 curl 127.0.0.1 可以正常返回页面,但是自己电脑浏览器输入公网 IP 打不开。这里要区分三层拦截:

  1. 华为云安全组(第一层,云上最重要) 安全组是华为云侧的访问控制,和服务器本身防火墙分开。需要在 ECS 实例绑定的安全组,入方向放行 TCP 80 端口,如果后续配置 HTTPS,再加 443 端口。

避坑提醒:SSH 的 22 端口尽量不要全开 0.0.0.0/0,建议只放行自己的本地公网 IP,降低被扫描爆破的风险。

  1. 服务器系统防火墙(第二层) CentOS 默认 firewalld 可能开启,即使安全组放行,系统内部也会拦截访问。 查看状态命令:
systemctl status firewalld

调试的时候可以临时关闭测试,正式环境建议按需放行端口,不要长期关闭防火墙。

  1. Nginx 监听配置(第三层) 如果 Nginx 配置里写死监听127.0.0.1:80,那只能服务器本机访问,外网无法接入,正确写法是listen 80;监听所有网卡。

三、常见报错处理

  • 访问 403 Forbidden:大多是网页文件夹权限不足,Nginx 运行用户没有读取权限,给目录授权chmod -R 755 站点目录。
  • SPA 单页应用刷新 404:在 location 配置里增加try_files $uri $uri/ /index.html;,前端路由刷新问题即可解决。
  • 修改配置不生效:先确认nginx -t没有语法报错,重载服务之后,浏览器清除缓存再测试。

四、收尾小建议

静态站点部署完成后,如果只是临时测试使用,按量计费的实例用完及时释放,避免持续产生费用;正式业务建议搭配 OBS 存储、CDN 加速,提升页面访问速度。

【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容, 举报邮箱:cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。