首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >proxy_intercept_errors - get响应体

proxy_intercept_errors - get响应体
EN

Stack Overflow用户
提问于 2020-07-14 06:23:52
回答 1查看 2.1K关注 0票数 1

我有一个要求,当代理响应错误代码为401 (条件#1),响应主体有文本"No令牌“(条件#2)时,我需要拦截它并重定向到刷新令牌API。

在只考虑错误代码401的情况下,我可以部分地这样做。无法找到读取响应正文文本以给出条件#2的方法

代码语言:javascript
复制
location /service {
   proxy_intercept_errors on;
   error_page 401 = @refresh;
}
location @refresh {

   (# Here check if the response body has text "No SAML Token". If yes return 401 directly.)

   set $original_uri $scheme://$http_host$request_uri;
   return 307 https://localhost:8083/service/auth/refresh?uri=$original_uri;
}

请帮我得到回复正文的短信。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-07-14 13:27:54

从Nginx论坛得到了答案。

“没有办法。错误是根据响应头拦截的,如果错误被截获,响应体也不会从上游服务器读取。如果需要分析响应体,请考虑使用njs。执行适当的子请求并对其进行检查可能对您有用,详细信息请参阅这里: 。

https://forum.nginx.org/read.php?2,288683,288689#msg-288689

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62889205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档