Skip to content

Instantly share code, notes, and snippets.

@roidelapluie
Created November 30, 2019 14:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save roidelapluie/8aff51ae7740f11134832df0c38630ca to your computer and use it in GitHub Desktop.
Save roidelapluie/8aff51ae7740f11134832df0c38630ca to your computer and use it in GitHub Desktop.
Simple HTTP Proxy with haproxy (POC - not recommended)
global
log stdout local0
defaults
log global
log-format "%ci:%cp [%tr] %ft %b/%s %TR/%Tw/%Tc/%Tr/%Ta %ST %B %CC %CS %tsc %ac/%fc/%bc/%sc/%rc %sq/%bq %hr %hs %{+Q}r %si:%sp"
frontend proxy
bind :3128
mode http
http-request do-resolve(txn.myip,mydns,ipv4) hdr(Host),lower unless { url_ip -m found }
http-request set-var(txn.myip) url_ip if { url_ip -m found }
http-request set-var(txn.myport) url_port
use_backend b_503 unless { var(txn.myip) -m found }
use_backend forwardproxy
resolvers mydns
parse-resolv-conf
backend b_503
mode http
backend forwardproxy
mode http
option httpclose
http-request set-dst var(txn.myip)
http-request set-dst-port int(80)
http-request set-dst-port var(txn.myport) if { var(txn.myport) -m found }
server clear 0.0.0.0:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment