我在网络上的服务器上有一个 CRM。我们有一个静态 IP 和另一台面向外部的服务器。我们使用端口转发来映射到 CRM,这样当您转到 IP 或 FQDN 时,您就可以访问 CRM:
xxx.xxx.xxx.xxx
crm.example.com
在内部,我们可以通过以下方式访问 CRM:
crm
或者
crm.example.com
最近,我注意到从网络外部访问服务器会超时或出现 503,网关错误。在此期间,我也可以通过 SSH(不同的端口,因此可以正常使用)进入面向外部的计算机并正常访问服务器。
我有一个机器人监控该网站,确实通过 HTTP 监控该网站正在周期性地瘫痪。
我查看了 Apache 服务器访问和错误日志,但什么都没发现,所以我有点困惑到底发生了什么。我还在访问日志中搜索了 503,但什么也没发现。
当我tracert
从网络外部运行时,看起来数据包基本上通过了更广泛的区域服务器(康卡斯特市和县服务器)并最终落在 CRM 服务器的前端。
我很想更换该服务器,因为它比较旧而且功能不足,但如果能知道发生了什么就更好了。
有什么想法下一步该做什么吗?
编辑
感谢大家的反馈。这个问题肯定很模糊,因为我没有太多证据可以证明。但我可以说,据我所知,我们的网络上没有代理服务器。如果有,我不知道它们或它们的配置。
另外,我之所以提到端口转发和 SSH,是因为当这些间歇性中断发生时,我可以通过 SSH 进入与静态 IP 关联的服务器。我们只是使用端口转发来访问 CRM,因为它在另一台服务器上。
我还运行着一个 DNS/DHCP 服务器,并检查了配置,没有发现任何异常。网络的其余部分都很好,自从这个间歇性故障开始以来,CRM 服务器的配置一直保持不变。这是那些“(据我所知)没有任何变化”的情况之一,因此排除故障有点棘手。另外,我不是网络专家,所以我真的不知道到底发生了什么。
我一定会仔细研究迄今为止提到的内容并尝试解决问题。
答案1
按照您提出问题的一般方式来回答您的问题;您的问题很可能出在您的 apache 守护程序和定义为“外部”的区域之间。我假设您在内部使用私有范围 IP 地址,因为您谈到了端口转发(下次,不要删除这些地址。这样做毫无意义,如果您还记得 IP 网络 101,您应该会意识到这一点)。
牢记上述假设,503 错误通常发生在中间代理配置错误或资源耗尽时,而您遇到的情况很可能就是这种情况,因为您会间歇性地看到此错误。这就是为什么您不会在 Web 服务器上看到此错误的原因:它不是在那里发生的,而是在代理上发生的。
请注意,此代理可以位于 apache 守护进程和“外部”区域之间的任何位置:在同一主机上、在任何机器上、在网络元素上等等。
答案2
您是否检查过外部 DNS -> IP 映射是否一致?也许该域配置为循环调度。
类似地,网络设备可以采用循环或除静态之外的其他方法将外部 natting 到内部。
根据您的网络配置,您的代理和 apache 服务器之间可能发生同样的事情。