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

Readme upgrade #19

Merged
merged 2 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 59 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,44 @@

This reverse proxy server is designed to forward incoming requests to internal services, while offering advanced features such as SSL termination, rate limiting, content optimization, and OpenAPI-based request/response validation.

## Key Features
## Supported Features

- 🔒 SSL Termination - HTTPS support with configurable SSL certificates

- 🚀 Content Optimization
- Minification for HTML, CSS, JS, XML, JSON, and SVG
- GZIP compression support


- ⚡ Performance Controls
- Configurable request timeouts
- Maximum request size limits
- Response caching for cacheable content


- 🛡️ Security & Protection

- IP-based rate limiting (per minute/day)
- Request/response validation via OpenAPI

- ⚖️ Load Balancing

- Multiple backend server support
- Round-robin, random, and least-latency policies
- Weighted distribution options


- 📁 File Serving - Static file serving with path stripping

- 🏥 Health Monitoring

- Automated health checks with cron scheduling
Configurable failure notifications


- 📊 Observability - OpenTelemetry integration for tracing and metrics

## More About The Features
### 1. SSL Termination

The proxy supports secure connections through SSL, with configurable paths to the SSL key and certificate files. This allows for secure HTTPS communication between clients and the reverse proxy.
Expand Down Expand Up @@ -218,10 +255,28 @@ services:

```

### Breakdown:
### Breakdown
The configuration is organized into three main sections:

1. Global Settings:
- Server configuration (host, port)
- SSL settings
- OpenTelemetry configuration


2. Services
- Domain-based routing
- Multiple endpoints per domain
- Path-based matching with longest-prefix wins


3. Endpoints
- Backend service configuration
- Performance optimizations
- Security controls
- Monitoring settings

- Services: You can define multiple domains and endpoints, each with their own routing and optimization settings.
- Endpoints: You can have multiple endpoints that share a path prefix, the request will be routed to the longest muching endpoint.
Each endpoint can be independently configured with its own set of features, allowing for flexible and granular control over different parts of your application.

## License

Expand Down
19 changes: 0 additions & 19 deletions cmd/server.crt

This file was deleted.

28 changes: 0 additions & 28 deletions cmd/server.key

This file was deleted.

Loading