我在一台虚拟的 Ubuntu 15.10 机器上运行着一个 Apache 2.4.12 的 Web 服务器。提交表单(向服务器发出请求)时,我经常(但完全是随机的)遇到连接重置(iptraf 中的标志为 RESET)。
奇怪的是,这是完全随机的,我找不到一种方法来一致地重现这种情况。在连接重置的情况下,可能会发生 5 个请求,然后突然又开始工作。等待一段时间后,第一个请求大多会失败(重置)。服务器不在防火墙后面,而是直接连接到调制解调器。
我已经尝试检查日志,但 Apache 根本没有收到请求。在打开 iptraf 的情况下执行 post 请求时,如果请求失败,则在标志列上显示“RESET”。然后浏览器会抛出错误,表示 Web 服务器意外断开了连接。
经过进一步测试,它似乎与使用 SSL 的CodeIgniter 3.1(PHP 框架) Apache vhost有关。我不知道是什么原因导致仅在后请求时发生这种随机连接重置,因为 CI 配置文件对我来说似乎没问题。我尝试从同一主机上的另一个虚拟机(使用相同的 NIC)提交表单(非 CI),并且它运行良好,没有中断。
在发现它在另一台服务器上运行良好后,我在托管 CodeIgniter 项目的服务器上运行了相同的脚本(请注意,这是非 SSL 的),并且每次提交都有效。然后在 CI 环境中再次尝试(这是 SSL),大多数时候它再次失败。
我现在将尝试找出导致此问题的原因,因为我有一个完全相同的项目副本,它在另一个位置的完全不同的服务器上运行,并且运行正常,没有这个问题。这可能是与服务器软件相关的问题,导致了CI Apache ssl 中的这个“错误”?
答案1
重新安装此特定虚拟机后,此“错误”已得到修复。我认为一定是某些东西损坏了,因为我已将 Ubuntu 14.04 LTS 更新至 15.10,并且在此过程中出现很多错误。
我设法让虚拟机重新运行,但显然 Apache 上的 SSL 已损坏。仍然不知道究竟是什么原因造成的,但似乎在全新安装的 15.10 Ubuntu x64 上没有修复。