Overview
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.
Environment Variables
Configuring the versions
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
Setting to change the behavior of revaboxy
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 |