update readme

This commit is contained in:
Jun Kurihara 2022-07-25 20:20:02 +09:00
commit dcedd7f6b3
2 changed files with 34 additions and 0 deletions

View file

@ -9,3 +9,25 @@
This project is still *work-in-progress*. But it is already working in some production environments and serves numbers of domain names. Furthermore it dramatically outperforms NGINX and Caddy in the setting of very simple HTTP reverse-proxy scenario (See [`bench`](./bench/) directory).
`rpxy` provides the sanitization of TLS's SNI (server name indication) in default by correctly binding a certificate used to establish an underlying TLS connection with backend application specified in the overlaid HTTP HOST header (or URL in Request line). Additionally, as a somewhat unstable feature, our `rpxy` can handle the brand-new HTTP/3 connection thanks to [`quinn`](https://github.com/quinn-rs/quinn) and [`hyperium/h3`](https://github.com/hyperium/h3).
## Making an executable binary
```:bash
% cargo build --release
```
Then you have a binary at `./target/release/rpxy`.
You can also use [`docker` image](https://hub.docker.com/r/jqtype/rpxy) instead of building from the source.
## Usage
todo!
## Configuration
todo!
## Using `docker` image
todo!

12
TODO.md Normal file
View file

@ -0,0 +1,12 @@
# TODO List
- Improvement of path matcher
- Option for rewriting path like
```
https://example.com:8080/path/to -> http://backend:3030/any_path
```
Currently, incoming path (`/path/to/`) is always preserved in the mapping process, i.e., mapped to `backend:3030/path/to`.
- Smaller footprint of docker image using musl
- Refactoring
- Options to serve custom http_error page.
- etc.