Apache Jmeter HTTP Header 管理器覆盖 "Host" Header 而不附加端口

Apache Jmeter HTTP Header Manager override "Host" Header without appending the port

我正在尝试对需要特定“主机”header 进行路由的服务进行负载测试。 (而且此服务在端口 9211 上 运行)。在 Jmeter 配置中,我添加了一个“Http header 管理器”并为所述 header 添加了一个覆盖。但是请求似乎在主机 header 中附加了端口,如下所示。我相信这可能是 jmeter 中的一个错误(或一些奇怪的功能)。无论如何有办法解决这个问题吗?

我希望“主机”header 为“my-host”,并且不附加端口。

jmeter 配置

Heder 管理器设置

实际请求 header秒

谢谢

我不认为这是你可以配置的东西,它是在 HTTPHC4Impl.setConnectionHeaders() function 下完成的,正在为“非默认”端口添加端口(80 用于 HTTP 或 443 用于 HTTPS)

实际上它与 specification 并不矛盾,所以我建议忽略它。

但是,如果您有特定用例并且需要发送 Host header without specifying the port - you will need to switch the "Client implementation" of the HTTP Request sampler to Java, the setting lives under "Advanced" tab of the HTTP Request sampler (or better use HTTP Request Defaults 如果您希望将设置应用于所有 HTTP 请求采样器)