~damien/porter

Tiny Go program for proxying HTTP + HTTPS requests to a load balancer
cba2d1df — Damien Radtke 21 days ago
Add license
9a07bfbf — Damien Radtke 21 days ago
Some log and readme updates
5aba8435 — Damien Radtke 21 days ago
Initial commit

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~damien/porter
read/write
git@git.sr.ht:~damien/porter

You can also use your local clone with git send-email.

Porter

Porter is a small Go program (~100 lines of code) that proxies HTTPS (port 443) connections to a target destination, and redirects HTTP (port 80) requests to the same HTTPS address. It is intended to be deployed alongside a balancer like Fabio; this allows the balancer to run on a single and non-privileged port (Fabio's default is 9999), reducing the surface area of code needing to run with privileged access.

Basic DNS forwarding functionality is also supported. By default, all HTTP traffic is redirected to the same HTTPS address, but this can be overridden for a specific domain to redirect HTTP requests to any address. This allows the same node to be used for load balancing and DNS forwarding.