a simple reverse proxy implementation for quick container assmebling behind a single host:port.
This example runs a webserver at http://localhost:8080
with /api/ mapped to localhost:8081 and / mapped to localhost:8082. The first matching path to match gets the request.
goproxygo /api:http://localhost:8081 /:http://localhost:8082
This example runs a webserver at http://0.0.0.0:8080
with /api/ mapped to localhost:8081 and / mapped to localhost:8082. The first matching path to match gets the request.
goproxygo --host 0.0.0.0 /api:http://localhost:8081 /:http://localhost:8082
This example runs a webserver at http://0.0.0.0:8000
with /api/ mapped to localhost:8081 and / mapped to localhost:8082. The first matching path to match gets the request.
goproxygo --host 0.0.0.0 --port 8000 /api:http://localhost:8081 /:http://localhost:8082
The below example would map Keycloak, an API, and the main website content behind a single URL.
---
services:
proxy:
image: ghcr.io/ruckc/goproxygo:0.3.3
ports:
- "8080:8080"
command:
- "--host"
- "0.0.0.0"
- "--port"
- "8080"
- /auth:http://keycloak:8080/auth
- /api:http://api:8080/api
- /:http://ui:8080
links:
- keycloak
In order to build
go build cmd/goproxygo/main.go