JMeter登录性能测试遇307 Temporary Redirect问题求助
性能测试登录重定向问题排查建议
问题背景
我在对某应用开展性能测试时,用户携带Credentials访问登录URL后,会跳转至其他URL继续后续流程。已确认以下信息无误:
- 传入URL的Csrf token正确
- 请求头中的用户凭据正确
- 重定向发生前Session ID保持固定
但遇到两类异常:
- 勾选Follow redirects选项时出现报错
- 勾选Automatically redirect无报错,但返回无效会话响应
排查步骤
1. 抓包对比正常浏览器流程
用Fiddler/Charles抓取正常浏览器登录的完整请求链,和性能测试工具的请求做对比:
- 重定向时的请求方法(GET/POST)是否一致?部分应用重定向会要求POST而非GET
- 重定向后的请求是否携带了原会话的所有Cookie?尤其是Session ID和Csrf token
- 重定向URL的参数是否有遗漏?比如登录请求返回的跳转参数是否被正确传递
2. 检查重定向状态码与响应头
- 确认登录请求返回的重定向状态码(301/302/307/308):307/308会保留原请求方法,302可能被工具自动转为GET,若应用要求重定向用POST,就会导致无效会话
- 查看响应头中
Location字段的URL是否正确,是否存在编码差异
3. 验证工具重定向处理逻辑
部分性能测试工具的两个重定向选项存在差异:
- Follow redirects会自动处理所有重定向,但可能丢失请求头或参数
- Automatically redirect可能仅处理状态码,不传递必要会话信息
尝试手动模拟重定向:先发送登录请求,提取Location中的跳转URL,再手动发送第二个请求,携带原Session ID和必要参数
4. 校验会话有效性规则
- 应用可能校验重定向请求的
Referer头,确认工具是否正确设置该字段 - 部分应用登录成功后会生成新Session ID,检查重定向后的请求是否使用了新ID而非原ID
- 验证Csrf token是否需要在重定向后重新获取,而非沿用登录请求的token
5. 查看应用服务器日志
联系开发团队查看登录及重定向环节的服务器日志,确认:
- 重定向请求是否成功到达服务器
- 服务器返回无效会话的具体原因(如会话过期、参数缺失、权限校验失败)
内容的提问来源于stack exchange,提问作者Prad
相关产品推荐
相关产品推荐

