Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differentiate "URL Unavailable/503" and "URL Not Found/404" #214

Closed
gregoryguillou opened this issue Jan 12, 2017 · 5 comments
Closed

Differentiate "URL Unavailable/503" and "URL Not Found/404" #214

gregoryguillou opened this issue Jan 12, 2017 · 5 comments
Milestone

Comments

@gregoryguillou
Copy link

gregoryguillou commented Jan 12, 2017

Sorry if that is something I misunderstand. Fabio could differentiate between:

  • A service and its associated tag/route is published but the status of none of the checks are passing; It would be a server issue and return 503... and
  • There is no service and tag/route published; that is a client issue and would return 404

I'm aware of #56 as well as the proxy.noroutestatus parameter; however, the behavior I describe here would be slightly different. Thank you for your comment (and 1000x thank you for fabio).

@magiconair
Copy link
Contributor

fabio does not do that at the moment as routes for non-passing services are excluded from the routing table before parsing. So the code that decides on the return code doesn't even see that this would be an option. I'd have to add a route that says that there is no server for this prefix. I'll think about it.

@gregoryguillou
Copy link
Author

You're fast! I understand it is quite a big change for that exact reason. It would also change the UI and it would impact existing/well tested systems. I was just curious if that could be of some interest to people. It would be to us.

@magiconair
Copy link
Contributor

Still awake but not much longer :) As long as the default return code is 404 there wouldn't be a change in external behavior. I also don't think that this would be such a big change but it is more than just adding an if statement somewhere and a config option.

@magiconair magiconair added this to the Unplanned milestone Oct 10, 2017
@magiconair
Copy link
Contributor

I don't think that I'm going to add that. The routing table is constructed from what is there and not from what is not there. That's the whole point of fabio. Please let me know if I'm missing something fundamental and I'll revisit this. Hope you're still happy with fabio :)

@gregoryguillou
Copy link
Author

I am, very much and we are using it for more than 1 year now. I especially like the access log now to monitor internal calls. I assume I should try to implement it at some point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants