Skip to content
cyd01Public

About

A new light reverse proxy in Go

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

GORP

gorp, a new lightweight reverse proxy for HTTP and TCP, written in Go.

Here is the user guide.

Features

  • Listeners
    • HTTP
    • HTTPS
    • HTTPS with dynamic server certificate generation
    • HTTP/3
    • TCP
    • TCP with TLS
    • HTTP proxy (with cascade)
    • Socks5 proxy
  • Middlewares
    • request and response headers
    • response Location prefixing for strip_prefix
    • response Location host replacement
    • correlation IDs (UUIDs)
    • logging and rate limiting
    • Basic, token, digest, and OpenID Connect authentication
    • dynamic Go request and response middleware
    • OpenID Connect validation
    • OpenAPI validation
    • W2C distributed tracing
  • HTTP routing, based on the request path or Host header
  • SNI-based routing for TLS-enabled TCP listeners
  • Backend selectors
    • round robin, random, and first available
    • cookie, header, source IP, and query parameter affinity
    • least connections and power of two choices
  • Backend authentication
    • Basic, token, and AWS authentication
  • TLS
    • TLS for upstream
    • TLS for downstream
    • private certificate authorities for downstream connections
    • downstream client authentication (mTLS)
    • upstream client authentication (mTLS)
    • certificate revocation lists (CRLs)
    • OCSP (Online Certificate Status Protocol)
    • TLS for TCP endpoints
  • Directory fallback
  • Admin listener
  • Outbound proxy
  • Prometheus metrics for listeners and backends on the admin listener
  • Hot configuration reload

About

A new light reverse proxy in Go

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages