Apache 与 Tomcat 通信中的 DF 位

Apache 与 Tomcat 通信中的 DF 位

已编辑(编辑内容如下斜体):

在我的配置中,我有一个 Apache 2.2 Http 服务器配置为反向代理使用 mod_proky_jk,它从 Apache Tomcat 6 应用程序服务器公开 http 服务。这两个是不同的 MS Windows 2008 R2 机器。

我的问题是通过 GPRS 或 GS​​M 连接的远程移动设备有时会出现故障

我发现这条信息这似乎适合我的情况。

转储 TCP 消息时,我注意到 Apache 请求数据包时将 DF 位设置为“不分段”。以太网帧大小实际上是 1514,MTU 是 1500。

有没有办法告诉 Apache 不要使用 DF 位?也许将服务绑定到机器 IP 而不是所有接口?

新的问题是

如果问题是由 PPPoE 添加字节引起的,那么在两个 Windows 机器上设置较低的 MTU 是否可以解决此问题?

进一步更新

我注意到有些移动设备通信失败,其他的则没有。我分析了其中两个设备之间的差异,并注意到 WWAN 设置中的工具 > 数据配置不工作的一个有“启用自动配置未检查。 我已检查并热重启,连接成功。我未选中并且连接仍然成功。此设备再也没有出现故障。

也许我抓住了问题所在?此设置在通信层面上有何影响?

答案1

有没有办法告诉 Apache 不要使用 DF 位?

不,没有办法做到这一点,因为 Apache 不在网络堆栈的这个级别上工作。Apache 对内核进行标准系统调用。

我的问题是由于 IP 校验和卸载导致两者之间的通信失败。

您如何知道通信失败是因为 IP 校验和卸载导致的?仅仅因为您在 wireshark 中看到校验和错误,并不意味着发生了故障。

我注意到 Apache 请求数据包时将 DF 位设置为“不分段”,但数据包大小实际上是 1514(大于 MTU = 1500),

你确定数据包是1514字节,或者数据包封装在1514字节中的以太网帧吗?

使用“-f -l 1514”开关进行 ping 操作,它告诉“数据包需要分段但设置了 DF。”。

至于您的 ping,如果 MTU 是 1500,那么尝试使用 1514 大小进行 ping 将不会起作用。

相关内容