Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mkopylec/charon-spring-boot-starter
Reverse proxy implementation in form of a Spring Boot starter.
https://github.com/mkopylec/charon-spring-boot-starter
charon java proxy reverse reverse-proxy spring spring-boot webflux webmvc
Last synced: 22 days ago
JSON representation
Reverse proxy implementation in form of a Spring Boot starter.
- Host: GitHub
- URL: https://github.com/mkopylec/charon-spring-boot-starter
- Owner: mkopylec
- License: apache-2.0
- Created: 2016-05-22T18:16:42.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-08-06T06:51:20.000Z (4 months ago)
- Last Synced: 2024-11-15T03:06:15.816Z (27 days ago)
- Topics: charon, java, proxy, reverse, reverse-proxy, spring, spring-boot, webflux, webmvc
- Language: Java
- Homepage:
- Size: 1.35 MB
- Stars: 248
- Watchers: 14
- Forks: 55
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-network-stuff - **113**星
README
# Charon Spring Boot Starter
![Build Status](https://github.com/mkopylec/charon-spring-boot-starter/actions/workflows/ci.yml/badge.svg)
[![Code Coverage](https://codecov.io/gh/mkopylec/charon-spring-boot-starter/branch/master/graph/badge.svg)](https://codecov.io/gh/mkopylec/charon-spring-boot-starter)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.mkopylec/charon-spring-webmvc/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/com.github.mkopylec/charon-spring-webmvc)Charon is a **reverse proxy** implementation.
It automatically forwards HTTP requests from one HTTP server to another and sends back the received HTTP response to the client.
There are some alternative reverse proxy implementations like [Zuul](https://github.com/Netflix/zuul/wiki) or [Smiley's HTTP Proxy Servlet](https://github.com/mitre/HTTP-Proxy-Servlet).
Zuul is highly bounded to [Spring Cloud Netflix](https://spring.io/projects/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.## Features
- highly configurable and extensible
- Spring [WebMVC](https://docs.spring.io/spring-framework/reference/web/webmvc.html#mvc) and [WebFlux](https://docs.spring.io/spring-framework/reference/web/webflux.html#webflux) support
- multiple request forwarding mappings
- load balancing
- flexible path rewriting
- [Resilience4j](https://resilience4j.readme.io/) support
- metrics based on [Micrometer](https://micrometer.io/)
- asynchronous request forwarding
- authentication
- cookies rewriting
- 'X-Forwarded' HTTP headers support
- forwarding process intercepting
- configurable HTTP client## Migrating from older versions to 4.x.x
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.## Documentation
Full documentation is located [here](https://github.com/mkopylec/charon-spring-boot-starter/wiki).## License
Charon Spring Boot Starter is published under [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).