有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java HttpResponse主体正在更改

我们目前面临着一个特殊的问题,我们不知道是什么导致了这一点

我们在serverA上有一个web服务。 当从serverB调用这个web服务时(使用命令curlhttp://serverA:8008/service/getId),我们会得到所需的响应。(web服务返回一个整数Id)

当从serverC调用相同的web服务时,我们会得到所需的响应,但响应中的数字2会被替换为

例如,当从serverB调用web服务时,我们得到5002。 当从serverC调用相同的web服务时,我们得到500

我们检查了serverA的wireshark详细信息,从serverA输出的两台服务器的数据都是相同的

我们目前还不知道为什么会发生这种情况。我想补充一点,serverC在DMZ中,而serverB不在

非常感谢您在这方面提供的任何意见/帮助


共 (2) 个答案

  1. # 1 楼答案

    我不能解决你的问题,但是在路上找转码器。 从服务器C向服务器A发送请求。 1) wireshark,查看是否正确接收请求。可能的代码转换器可能会将无主机URL转换为主机ful(GET/service/getId以获取http://serverA:8080/service/getId),或者可能会删除主机头等。但如果您在这里没有发现任何错误,请继续执行步骤2

    2)B处的wireshark,查看响应是否有效。查看内容类型是否设置正确。如果设置正确,并且仍然受到操纵,请尝试添加标头缓存控制:无转换。许多转码器尊重这一点。如果这也失败了,并且无法删除任何可能的转码器,那么您可能需要转到步骤3

    3)去https,它对这些东西免疫

  2. # 2 楼答案

    试着把ServerB也放进DMZ,看看会发生什么
    如果它采取同样的行动,那就是一个网络问题
    如果不是,服务器上可能有两个不同版本的代码