How to get response body when using proxy_intercept_errors

salmanpskply nginx-forum at forum.nginx.org
Tue Jul 14 08:25:46 UTC 2020


I have a requirement where when proxied response error code is 401
(condition #1) and response body has text "SAML Token Expired" (condition
#2), I need to intercept it and redirect to refresh token API.

I could do it partially where only error code 401 is considered. Not able to
find a way to read response body text to give condition #2:

"location /service {
   proxy_intercept_errors on;
   error_page 401 = @refresh;
}
location @refresh {

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

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

Please help me on getting the response body text. Thanks in advance!

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,288683,288683#msg-288683



More information about the nginx mailing list