You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS EC2上使用Docker和Nginx部署Angular失败求助

我来帮你一步步排查这个网站访问超时的问题,先把你的环境和操作梳理清楚:

环境与操作梳理

Docker文件夹结构

.
├── default.conf
├── dist
│   ├── 3rdpartylicenses.txt
│   ├── favicon.ico
│   ├── index.html
│   ├── main.814148b8a52c3996d8f6.js
│   ├── polyfills.c72d3210425a88b28b6d.js
│   ├── runtime.6afe30102d8fe7337431.js
│   └── styles.914f038ddd792d8e3589.css
└── Dockerfile

Nginx配置文件(default.conf)

server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;
    charset utf-8;
    location / {
        try_files $uri /index.html;
    }
}

Dockerfile内容

FROM nginx:1.13.3-alpine
COPY default.conf /etc/nginx/conf.d/
RUN rm -rf /usr/share/nginx/html/*
COPY dist/ /usr/share/nginx/html/
CMD ["nginx", "-g", "daemon off;"]

已执行的操作

  • 构建镜像:docker build -t nanda_image .
  • 启动容器:docker run --rm --name nanda_container -p 80:80 nanda_image

当前状态

  • docker container ls显示容器处于正常运行状态(Up状态)
  • netstat -nlp显示80端口已被docker-proxy监听

但访问EC2公网IP时出现响应超时,接下来我们逐一排查可能的问题:


排查步骤

1. 优先检查EC2安全组配置(最常见原因)

外部请求超时大概率是安全组没开放对应端口:

  • 登录AWS控制台,找到你的EC2实例,进入安全组设置页面
  • 确保入站规则中添加了HTTP(80)端口的允许规则:
    • 来源可暂时设为0.0.0.0/0(测试用,后续可按需缩小范围)或你当前的公网IP
    • 协议选择TCP,端口范围填80

如果安全组未开放80端口,外部请求根本无法到达EC2实例,必然会超时。

2. 验证EC2实例内部能否访问容器服务

SSH登录到EC2实例,执行以下命令测试本地访问:

curl http://localhost:80
  • 如果能返回dist/index.html的内容,说明容器内的Nginx服务正常,问题出在外部网络层面(安全组/网络ACL)
  • 如果curl也超时,需要检查容器本身:
    • 查看容器日志:docker logs nanda_container,确认Nginx是否有启动报错
    • 进入容器验证配置:docker exec -it nanda_container /bin/sh,然后执行nginx -t检查Nginx配置是否合法

3. 检查子网的网络ACL配置

如果安全组没问题,再检查EC2所在子网的网络ACL:

  • 网络ACL是无状态的,需确保入站规则允许80端口的TCP流量,同时出站规则允许响应流量(至少允许80端口的回包)
  • 若ACL规则限制了流量,也会导致外部请求无法正常连通

4. 确认访问的是EC2公网IP

  • 检查你访问的IP是否为EC2实例的公网IP(而非私有IP)
  • 可在EC2内部执行curl http://169.254.169.254/latest/meta-data/public-ipv4获取公网IP,确认和你访问的地址一致

5. 排除本地网络限制

  • 尝试切换网络(比如用手机流量访问),排除本地防火墙、代理对80端口请求的拦截
  • 也可以用在线端口检测工具,输入EC2公网IP和80端口,验证端口是否能被外部连通

建议先从安全组开始排查,这是此类问题的高发点。如果还有疑问,可以把docker logs nanda_container的输出贴出来,方便进一步分析。

内容的提问来源于stack exchange,提问作者Mars Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:05:21