前言
最近在维护海外服务器的时候碰到个很典型的问题:服务器上跑着 1Panel 面板,配置了网站反向代理,业务能正常访问,但是传统ping命令直接 100% 丢包,完全没法用 ping 判断服务器是否在线。 一开始还以为是服务器宕机了,排查后才发现是 ICMP 协议被封禁,也就是大家常说的禁 ping。这种情况下如果只靠 ping 监测,服务挂了都没法第一时间发现。 本篇就把完整排查流程、TCP 端口监控配置完整记录下来,同款场景的朋友可以直接照搬。
一、问题背景
服务器环境:
-
系统:Linux
-
面板:1Panel
-
业务:网站反向代理(HTTPS,443 端口)
-
网络:ICMP 协议被封禁,ping 请求全部超时
问题现象:
直接ping 服务器公网IP,请求超时,100% 数据包丢失
1Panel 防火墙「禁 ping」开关已关闭,本机防火墙无拦截
网站通过域名正常访问,反向代理服务运行正常
无有效监控手段,担心服务异常无法及时感知
核心诉求:在 ICMP 被禁的前提下,实现服务器 & 业务服务的在线状态监测
二、问题排查:ping 不通≠服务器挂了
很多新手一看到 ping 不通就慌,以为服务器宕机了,其实完全不是一回事。
1. ICMP 封禁验证
直接在 Windows 终端执行 ping 命令:
ping 146.56.102.26
返回结果:请求超时,100% 丢失 同时检查 1Panel→安全→防火墙,「禁 ping」开关默认关闭,说明本机防火墙已放行 ICMP,封禁来自云厂商安全组 / 机房网络层,属于常规安全策略,无需强行开启。
2. TCP 端口连通性验证
ICMP 被禁,就用业务端口验证服务状态,Windows PowerShell 执行:
Test-NetConnection 146.56.102.26 -Port 443
关键结果:TcpTestSucceeded: True 说明服务器443 端口(HTTPS)正常监听,Nginx/OpenResty 服务运行正常,网站反向代理无异常。
3. IP 访问 404 问题说明
直接用 IP 访问出现 404 Not Found,属于正常现象:
-
网站配置了域名绑定,仅识别指定域名请求
-
IP 无对应站点配置,Nginx 返回默认 404
-
不代表服务异常,不影响监控有效性
三、解决方案:UptimeRobot TCP 端口监控配置
学长给出核心思路:放弃 ICMP ping,改用TCP 端口探测,也就是 TCP ping,只监测业务端口连通性,精准判断服务状态。
1. 监控工具选择
选用UptimeRobot免费版,支持 TCP 端口监控,无需安装客户端,配置简单,支持邮件报警,完全满足个人 / 小项目需求。
2. 详细配置步骤
登录 UptimeRobot,点击Add New Monitor
监控类型选择:Port monitoring(TCP 端口监控)
填写监测信息:
URL/IP:服务器公网 IP 146.56.102.26
TCP Port:443(网站 HTTPS 端口,也可填 80 端口)
检查频率:5 minutes(免费版最低间隔)
报警方式:绑定邮箱,端口异常自动发送通知
点击创建,完成监控部署
3. 监控生效验证
创建完成后工具自动首次探测,返回Online即代表监控正常运行,后续每 5 分钟自动探测一次端口连通性。
四、关键知识点区分
1. ICMP ping vs TCP 端口监控
|
监测方式 |
协议 |
适用场景 |
优缺点 |
|
ICMP ping |
ICMP |
粗略判断服务器网络连通性 |
易被封禁,无法反映业务状态 |
|
TCP 端口监控 |
TCP |
业务服务精准监测 |
不受 ICMP 封禁影响,贴合实际业务 |
2. 443 端口作用
443 是 HTTPS 协议默认端口,对应网站加密访问,相比 80 端口(HTTP)更安全,当前网站反向代理均使用 443 端口,监测该端口可直接反映网站服务可用性。
五、总结
服务器 ping 不通大概率是ICMP 协议被安全封禁,属于常规防护手段,不建议强行开启
1Panel 防火墙「禁 ping」关闭后仍 ping 不通,问题在云厂商安全组,无需额外处理
TCP 端口监控是 ICMP 封禁场景下的最优解,可精准监测业务服务状态
443 端口监测可直接反映网站反向代理运行状态,异常自动报警,避免服务挂了无人知晓
本次实战完美解决了禁 ping 环境下的服务监控问题,配置后 24 小时自动监测,再也不用被动等待问题反馈,同款运维场景的朋友可以直接参考配置。
网硕互联帮助中心


评论前必须登录!
注册