Session Configuration

Cookie-based session tracking with client fingerprinting

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/