Search
Varnish Enterprise

VMODs

URLs and headers

  • urlplus: Parse, normalize, and manipulate URLs and query strings.
  • headerplus: Create, manipulate, and filter HTTP headers.
  • cookieplus: Create, manipulate, and filter Cookie and Set-Cookie headers.
  • uri: Parse and manipulate Uniform Resource Identifiers (URI).
  • rewrite: Create rulesets for URL pattern matching and substitution.
  • accept: Filter content negotiation headers.

Request and response bodies

  • xbody: Access and manipulate request and response bodies.
  • edgestash: Personalize cached responses with Mustache templates.
  • bodyaccess: Access the request body.
  • brotli: Compress the response body with Brotli.
  • image: Convert JPEG and PNG images to WebP
  • slicer: Fetch responses with range requests.

Backend directors

  • udo: Static and dynamic backend director with multiple load balancing policies.
  • s3: S3 compatible dynamic backend director with AWSv4 request signing.
  • goto: Simple dynamic backend director with Round-Robin load balancing.
  • leastconn: Static backend director for choosing the backend with the fewest active connections.

Cache invalidation

  • ykey: Tag-based cache invalidation.
  • purge: Purge single objects.

Security

  • jwt: Create, parse, and verify JWT and JWS tokens.
  • aclplus: Match client IPs against dynamic ACLs.
  • crypto: Create and verify HMAC signatures, hash and encode strings with various algorithms, and AES encrypt responses in cache.
  • mmdb: Determine a clients geolocation based on IP.
  • asn: Determine a clients Autonomous System Number(ASN) based on IP.
  • deviceatlas: Classify client device type based on User-Agent with DeviceAtlas 2.
  • deviceatlas3: Classify client device type based on User-Agent with DeviceAtlas 3.
  • vsthrottle: Rate-limit clients based on any request attribute.
  • resolver: Verify a users identity with Forward-confirmed reverse DNS (FCrDNS).

Observability

  • stat: Output statistics in Prometheus or JSON format.
  • rtstatus: Create a simple monitoring web page.
  • accounting: Categorize traffic and create more granular statistics.

Basic utilities

  • std: Standard library with different functions.
  • utils: Additional utilities.
  • str: Helper functions for string manipulation.
  • json: Parse and access JSON.
  • kvstore: Fast key-value store with several data types and scopes.

Advanced utilities

  • format: Build strings with more complex formats.
  • digest: Hash and encode strings with various algorithms.
  • mse: MSE 3 control.
  • mse4: MSE 4 control.
  • stale: Keep serving content when the backend is down with stale-if-error.
  • probe_proxy: Let probes pass through Varnish before going to the backend.
  • http: Send HTTP requests and parse the response from VCL.
  • sqlite3: Perform operations on SQLite databases from VCL.
  • activedns: Create DNS groups for dynamic backends in udo.

Response generation

  • synthbackend: Create custom response bodies in VCL.
  • file: Serve responses from the fils system like a web server.
  • prng: Generate large synthetic responses for benchmarking.

Protocol information

  • tls: Get information about TLS connections.
  • tcp: Get information about TCP connections.
  • unix: Get information about Unix Domain Socket(UDS) connections.
  • proxy: Get information about Proxy Protocol V2 connections.
  • h2: Get information about HTTP/2 transport.
  • session: Get information about sessions.

®Varnish Software, Wallingatan 12, 111 60 Stockholm, Organization nr. 556805-6203