weeproxy

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2019 License: MIT Imports: 11 Imported by: 0

README

WeeProxy

WeeProxy is a wee bit http proxy to access http services mapped over URL path.

  • HTTP Proxy based on URL path mapped to Backends

  • round-robin load-balancing

  • graceful stop/restart

  • prometheus performance metrics at /metrics

Quikstart
  • start server
dep ensure

go run weeproxy.go
  • can also be used by downloaded pre-compiled binary from latest release, remember to have sample config in same dir or set required env var

  • check http

curl localhost:8080/nothing

curl localhost:8080/google
Config
  • config to be used can be changed by providing path to env var WEEPROXY_CONFIG

  • proxies based on URL Path maps provided as configuration like, sample config

{
  "server": {
    "listen-at": ":8080"
  },
  "url-proxy": {
    "/google": "http://www.google.com http://www.google.in",
   ....more
  }
}

in sample config above, when multiple backends need be load-balanced they are separated by a space

if any other character gets used as separator, env WEEPROXY_LB_SEPARATOR need be set with same

  • port to listen at can be modified updating listen-at field in above config

ToDo
  • configurable header customization

  • better no-backend handling

  • rate-limiting

  • circuit breaker

  • runtime authenticated config updates over admin api


Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL