Overview
SBproxy provides built-in session management for tracking user sessions across requests, storing session data, and executing callbacks when sessions are created. Sessions are stored in a distributed cache available across all proxy instances. Session management is disabled by default and enabled by adding a session_config object to your origin.
Capabilities
- Configurable session cookies with custom name, max age, SameSite, HttpOnly, and Secure settings
- Client fingerprinting using IP, user agent, TLS characteristics, and header patterns
- Cookie jar for automatically storing and replaying backend cookies within sessions
- Session data available as template variables via
{{session.*}} - Distributed session storage shared across all proxy instances
- on_session_start callbacks for session initialization and external sync
Example
Enable sessions with default cookie settings:
proxy:
http_bind_port: 8080
origins:
"app.example.com":
action:
type: proxy
url: https://test.sbproxy.dev
session_config:
cookie_name: _sb.s
cookie_max_age: 3600
cookie_same_site: Lax
enable_cookie_jar: true
Test it:
curl -H "Host: app.example.com" http://localhost:8080/