0%

防火墙导致nginx监听端口访问不通

问题现象

部署完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监听端口的情况,在确认机器自身可以访问监听端口之后,首先要检查防火墙状态以及防火墙策略。

-------------本文结束感谢您的阅读-------------