【问题标题】:401 UnAuthorized - This request requires HTTP authentication - Payara/Glassfish401 UnAuthorized - 此请求需要 HTTP 身份验证 - Payara/Glassfish
【发布时间】:2017-08-21 13:44:19
【问题描述】:

初始上下文:

我们正在开发 Web 应用服务器并将其部署在 Payara Server 4.1.2.173 中。最小稳定性测试完美通过,MVP 工作完美,但为了提高系统的性能测试,我们在 JMeter (3.2) 中创建了不同的测试用例,模拟前端正常活动并使所有对服务器的必要请求。

问题:

当 JMeter 开始发出请求 REST(JAX-RS) 时,一切正常,但突然一些请求(用户)返回以下错误响应:

    <h1>HTTP Status 401 - Unauthorized</h1>
    <hr/>
    <p>
        <b>type</b> Status report</p><p>
        <b>message</b>Unauthorized</p><p>
        <b>description</b>This request requires HTTP authentication.</p>
    <hr/>

这很奇怪,因为错误是随机出现的,显然不是因为并发问题。

任何想法可能是什么问题?谢谢

【问题讨论】:

  • 这里使用的Rest API需要身份验证。
  • 当然,添加了身份验证令牌(Base64)并且几乎每次都可以使用。

标签: rest jax-rs http-status-code-401 payara


【解决方案1】:

经过一些研究,我发现当线程请求量增加时,JMeter 在向 Http 请求添加动态标头令牌时存在一些困难。在我的场景中,我正在执行以下操作:

  1. 发出 HTTP 登录请求
  2. 在服务器中生成令牌会话
  3. JMeter 从响应中提供令牌,我应用 后处理器 将其编码为 Base64 并保存到 JMeter 系统变量。
  4. 在下一个 HTTP 请求中,我将令牌添加到 HTTP 标头配置组件中作为 基本授权。

当线程数量增加时(150 大约)服务器返回错误 401。尽管 JMeter 显示好像令牌包含在标头中,但在实际请求中没有任何迹象。这种行为是随机出现的,没有共同的原因......

解决方案:

我们决定将令牌会话添加为 CSV 数据集 - 配置文件的一部分,并且 JMeter 能够管理所有请求而不会出现任何罕见的 401 错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 2015-11-03
    相关资源
    最近更新 更多