Revaboxy is a reverse proxy made for A/B testing of front end applications. It is placed in front of two or more versions of a frontend and does randomize the trafic to the different versions based on probability. When a users browser makes subsequent requests, revaboxy will automaticly select the same version as before.
Revaboxy is released as docker images, binaries for linux/windows/mac and as a Go library.
When setting up Revaboxy, every version has to be setup with the url and probability that it will be selected.
These environment variables are called VERSION_NAME_URL
and VERSION_NAME_PROBABILITY
.
As an example, say we have two version, one called DEFAULT
and one called GREEN_BACKGROUND
. The environment variables needed would be:
VERSION_DEFAULT_URL=http://defaulturl
VERSION_DEFAULT_PROBABILITY=0.6
VERSION_GREEN_BACKGROUND_URL=http://greenbackgroundurl
VERSION_GREEN_BACKGROUND_PROBABILITY=0.4
Name | Default | Description |
---|---|---|
HOST |
|
The host that the server should listen to, the default value makes it listen on all hosts |
PORT |
80 |
The port that server should listen on |
HEADER_NAME |
Revaboxy‑Name |
The header name sent to the downsteam application |
COOKIE_NAME |
revaboxy‑name |
The cookie name that is set at the client to keep track of which version was selected |
COOKIE_EXPIRY |
7d |
The time before the cookie containing the a/b test version expires |