https://github.com/csmith/centauri
TLS-terminating reverse proxy in Go
https://github.com/csmith/centauri
Last synced: 5 months ago
JSON representation
TLS-terminating reverse proxy in Go
- Host: GitHub
- URL: https://github.com/csmith/centauri
- Owner: csmith
- License: mit
- Created: 2022-02-21T23:29:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-12-21T15:56:31.000Z (6 months ago)
- Last Synced: 2025-12-23T05:42:40.895Z (6 months ago)
- Language: Go
- Homepage: https://centauri.readthedocs.io/en/latest/
- Size: 952 KB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Centauri
Centauri is a TLS-terminating reverse HTTP proxy written in Go.
## Current status
Centauri is considered stable and feature complete. It is deployed in production
in several places. Any breaking changes going forward will result in major
version bumps.
## Features
### Automatic TLS certificates and OCSP stapling
Centauri will obtain TLS certificates from an ACME provider such as
Let's Encrypt. It will keep these up to date, and ensure each one
has a valid OCSP staple that can be sent to clients.
Centauri runs with sensible defaults for establishing TLS connections,
in line with Mozilla's Intermediate recommendations. This balances
security with accessibility for older clients.
### Simple route configuration
Centauri's route configuration looks like this:
```
route www.example.com example.com
upstream server1.internal.example.com:8080
route www.example.net
upstream server1.internal.example.com:8080
```
You don't need to configure separate front-ends or back-ends, or
deal with `proxy_pass` instructions.
### Native Tailscale support
Centauri can listen directly on a Tailscale network instead of
a public TCP port, removing the need for complex configuration
or sidecar containers. Change the "frontend" setting to
"tailscale", supply an API key, and Centauri will connect
directly to your Tailscale network!
Centauri will also pass details of the Tailscale user making
the request to the upstream service, via the following headers:
- `Tailscale-User-Login`
- `Tailscale-User-Name`
- `Tailscale-User-Profile-Pic`
## Usage
Documentation is available at https://centauri.readthedocs.io/en/latest/.
## Feedback / Contributing
Feedback, feature requests, bug reports and pull requests are all welcome!