Home
Softono

Backflow

Open source Java
21
Stars
11
Forks
9
Issues
1
Watchers
9 years
Last Commit

 About Backflow

A dynamic reverse proxy server

Platforms

Web Self-hosted

Languages

Java

Links

Need Help Installing Backflow?

We provide expert installation service for this software. Our team will install, configure, and secure Backflow on your server. plans start at just $30.

Backflow CircleCI Release

A load balancing reverse proxy server with an API. Supports adding/removing backends on-the-fly without restarts.

Install

Download from releases and unzip

Configuration

Edit proxy.yml

server:
  port: 8000  # proxy listen port
  backends: http://127.0.0.1:8090 http://127.0.0.1:8091  # List of hosts to forward requests to (in round-robin)
  maxRequestTime: 30000  # -1 to disable
  ioThread: 4
  backlog: 1000
  rewriteHostHeader: false
  reuseXForwarded: true
  connectionsPerThread: 20
  workerThreads: 16 # default: Runtime.getRuntime().availableProcessors()*8
  workerTaskMaxThreads : 16 # default: workerThreads
  sslPort: 8443
  keystore: /path/to/keystore.jks
  keystorePassword: secret

# Users for accesing the API
users:
  admin: secretPassword

All requests incoming on port 8000 will be forwarded to one of the backends.

Running

./bin/backflow

API

Backflow has a HTTP based API to add/remove backends. Changes are applied dynamically without restarting the server.

Add a new backend

curl -uadmin:secretPassword http://localhost:8000/lb -XPOST -d 'http://new.backend.example.com'

Remove an existing

curl -uadmin:secretPassword http://localhost:8000/lb -XDELETE -d 'http://some.backend.example.com'

List current backends

curl -uadmin:secretPassword http://localhost:8000/lb

Build from source

./gradlew distZip or ./gradlew distTar

License

Apache 2.0