Use Nginx to rate-limit only when origin server response code is 401

I want to use nginx to rate limit access to my API end-points only when the origin server response code is 401(Unauthorized). I have searched everywhere and couldn’t find anything related to my issue so please let me know if this is doable with nginx. Thanks in advance.


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

This isn’t something I’ve attempted and doing some searching shows that you’ve been looking around for an answer for this quite a bit lately :)

You can have nginx intercept upstream error messages, so with that turned on you could rate limit based on a 401 response in the same way as if that error was local to nginx.

This shows an example of the option to intercept upstream error codes.