问题现象
部署完nginx+keepalived(一主一备模式)高可用架构之后,发现外部无法通过虚IP访问nginx代理的业务。
排查步骤
1 2 3 4 5 6 7 8
| 1. 首先检查在主机是否能正常访问监听端口:结果是telnet主机自身IP+监听端口,能正常访问 2. 在外部telnet虚IP的监听端口:结果是telnet不通,可能是网络环境问题 3. 在备机telnet虚IP的监听端口:结果是telnet不通,排除网络环境因素,可能是虚IP绑定有问题 4. 排除虚IP绑定失败的因素,在备机telnet主机IP的监听端口:结果是telnet不通,说明主机和备机之间的网络存在问题 5. 在备机telnet主机IP的ssh端口:结果是telnet通了,怀疑是防火墙做了设置 6. 检查主机的防火墙状态:发现防火墙处于开启状态 7. 关闭主机防火墙,在备机telnet测试端口连通性:结果是监听端口均能正常访问,说明问题根源是防火墙阻断了网络导致无法从外部访问nginx监听端口 8. 检查备机,发现备机的防火墙处于开启状态,同样,需要关闭备机的防火墙
|
总结
以后遇到网络上无法访问nginx监听端口的情况,在确认机器自身可以访问监听端口之后,首先要检查防火墙状态以及防火墙策略。