Best practice is to go from highest to lowest, independant of the middleware components you might have.
Let's have router and backend as init and final points of your request; where router has a 57s timeout and backend 30s, all components in between should be scaled accordingly from highest to lowest, that way, you will avoid having premature timeouts and request should flow smoothly, have a look at antipattern.pdf for more details regarding timeout configuration