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

Application Load Balancer指向默认Nginx页面而非我的网站求助

问题排查与解决步骤

核心问题根源

你的域名访问到Nginx默认页,本质是ALB把用户流量转发到了EC2的80端口,而这个端口被系统自带的Nginx占用,而非你运行在Docker里的网站(8080端口)。

具体解决步骤

  1. 检查ALB目标组的转发端口

    • 进入AWS控制台的目标组配置页面,确认目标端口设置为8080(而非默认的80)。健康检查正常说明目标组能连通EC2的8080,但转发规则大概率没对应上。
  2. 验证EC2安全组的入站规则

    • 确保EC2的安全组允许ALB的安全组访问8080/TCP端口。如果之前只开放了80端口给ALB,ALB无法转发流量到8080,自然只能访问到EC2的80端口Nginx。
  3. 确认ALB监听规则

    • 检查ALB的监听配置(比如80端口监听),确认它关联的是你配置了8080目标端口的目标组,而非其他错误的目标组。
  4. 本地验证流量

    • 登录EC2实例,执行curl localhost:8080,确认你的网站能正常返回内容,排除Docker容器本身的问题。
    • 如果EC2安全组允许你的本地IP访问8080,直接用curl [EC2公网IP]:8080测试,确认网站可访问。

可选优化方案(如果想使用80端口)

如果你希望把网站映射到EC2的80端口,可以先移除系统自带的Nginx:

sudo systemctl stop nginx
sudo systemctl disable nginx
sudo apt remove nginx -y  # 用yum remove nginx(针对CentOS/RHEL系统)

然后修改docker-compose.yml的端口配置为:

ports:
  - 80:8080

重启容器后,再把ALB目标组的端口改回80即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:45:07