-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
proxy: Rewrite the proxy middleware #1639
Comments
would this help achieve #1460 too? |
@jrobeson Quite likely, yes. If I can do it right. |
Would this be implemented as well? #606 considering it pertains to the proxy plugin. |
@Stonedestroyer Yes, I think it definitely could be. |
so,what the issue going on now? |
This would help #1891 too. |
I won't have time to work on this for the coming year or so. If anyone is skilled in writing proxies and would like to take the lead at rewriting it, please chime in! |
This rewrite is done in v2. It's not feature-complete but should be able to support all the features that have been requested, one way or another. (Contributions welcomed!) The feature where a request is proxied to some arbitrary backends seems more suitable for a forward proxy than a reverse proxy. I'm not sure how that would work at all with a fixed number of backends. |
The
proxy
middleware needs to be rewritten, building upon the fabulous work already put in by contributors to date. These plans are tentative and subject to change.It will be rewritten from scratch, but with very few (if any) Caddyfile syntax changes (hopefully). This is a "guided rewrite", meaning that the current proxy code (which is very intricate) will be used as a reference for the rewrite. My hope is that we can accomplish these goals to make Caddy into a more competitive, useful reverse proxy:
websocket
directive, potentially -- note that this is different from proxy's websocket preset! (proxy: ability to RegisterProtocol #1638)errors
directive handle errors from upstream (rather than only errors connecting to upstream)This may take a few weeks once work commences.
/cc @abiosoft @nemosupremo - I will probably have questions as I go through this, so expect to hear from me. :)
The text was updated successfully, but these errors were encountered: