AWS实例502错误、目标组异常,求Windows/Linux排查命令与方案
排查AWS目标组健康检查失败及502错误的方法
Windows Web服务器排查命令
检查服务状态
- 查看IIS服务运行状态:
Get-Service W3SVC - 若使用其他Web服务(如Apache),替换对应服务名称执行:
Get-Service [服务名称]
检查端口监听情况
- 查看业务/健康检查端口(如80、443)的监听状态:
netstat -ano | findstr ":80"netstat -ano | findstr ":443" - 根据返回的进程ID(PID)查看对应程序:
tasklist /FI "PID eq [进程ID]"
本地验证健康检查路径
- 用PowerShell模拟负载均衡的健康检查请求:
Invoke-WebRequest -Uri "http://localhost/[健康检查路径]" -UseBasicParsing
(替换[健康检查路径]为目标组配置的实际路径,如/health)
Linux实例(Keycloak、应用服务器)排查命令
检查服务状态
- 检查Keycloak服务状态(基于systemd管理):
sudo systemctl status keycloak - 检查应用服务器服务(如Tomcat、Spring Boot):
sudo systemctl status [服务名称]
检查端口监听情况
- 查看Keycloak/应用服务端口(如8080、8443)的监听状态:
sudo ss -tulpn | grep ":8080"sudo ss -tulpn | grep ":8443" - 若系统安装了netstat,也可执行:
sudo netstat -tulpn | grep ":8080"
本地验证健康检查路径
- 用curl模拟健康检查请求:
curl -I "http://localhost/[健康检查路径]"
(Keycloak默认健康检查路径可能为/auth/health或/health,需根据版本调整)
其他排查步骤
- 安全组/网络ACL核对:确认负载均衡器安全组允许访问实例的健康检查端口,实例安全组允许来自负载均衡器的流量(含健康检查和业务流量)
- 目标组配置校验:检查目标组的健康检查路径、端口、协议是否与实例服务配置一致,确认健康检查路径存在且返回状态码在200-399范围内
- 系统日志排查:
- Windows:查看事件管理器中的系统日志、IIS日志(通常在
C:\inetpub\logs\LogFiles) - Linux:查看Keycloak日志(默认路径
/opt/keycloak/logs/)、应用服务器日志,以及系统日志/var/log/messages或/var/log/syslog
- Windows:查看事件管理器中的系统日志、IIS日志(通常在
- 资源占用检查:
- Windows:通过任务管理器查看CPU、内存、磁盘占用率
- Linux:执行
sudo top查看资源使用,df -h检查磁盘是否已满
内容的提问来源于stack exchange,提问作者KPM
相关产品推荐
相关产品推荐

