Charon is a reverse proxy implementation. It automatically forwards HTTP requests from one web application to another and sends back the received HTTP response to the client. There are some alternative reverse proxy implementations like Zuul or Smiley's HTTP Proxy Servlet. Zuul is highly bounded to Spring Cloud Netflix, Smiley's HTTP Proxy Servlet is a simple one, without advanced features. Charon is a universal Spring Boot tool. It already has a lot of features implemented and its architecture provides an easy way to add new ones.
- highly configurable and extensible
- Spring WebMVC and WebFlux support
- multiple request forwarding mappings
- load balancing
- flexible path rewriting
- Resilience4j support
- metrics based on Micrometer
- asynchronous request forwarding
- authentication
- cookies rewriting
- 'X-Forwarded' HTTP headers support
- forwarding process intercepting
- configurable HTTP client
Charon was completely rewritten, configuration via application.yml file is no longer available. Now Charon can be configured by in-code configuration. See the documentation for more details.
Full documentation is located here.
Charon Spring Boot Starter is published under Apache License 2.0.