Configure distributed gRPC proxy in OpenResty Edge

  • gRPC sample server and sample service
  • Use the gRPC server as an upstream
  • Test the gRPC service
  • gRPC sample server and sample service
  • Use the gRPC server as an upstream
  • Test the gRPC service

High-Performance Web Application Firewall (WAF) in OpenResty Edge

  • Enable WAF for applications
  • Test the WAF settings of applications
  • Disable and re-enable WAF
  • WAF whitelist
  • Change the block action after a WAF hit
  • Test the new block action
  • Create WAF rule set
  • The implementation of WAF in OpenResty Edge
  • Enable WAF for applications
  • Test the WAF settings of applications
  • Disable and re-enable WAF
  • WAF whitelist
  • Change the block action after a WAF hit
  • Test the new block action
  • Create WAF rule set
  • The implementation of WAF in OpenResty Edge

The EdgeLang DSL in OpenResty Edge

  • Introduction to Edgelang
  • Add a page rule defined using Edgelang
  • Test
  • Modify the Edgelang definition of the page rule
  • Define WAF rules using Edgelang
  • Edgelang user manual
  • Introduction to Edgelang
  • Add a page rule defined using Edgelang
  • Test
  • Modify the Edgelang definition of the page rule
  • Define WAF rules using Edgelang
  • Edgelang user manual

OpenResty 1.21.4.2 RC1 is out

  • Source package
  • Windows binary packages
  • Version highlights
  • Source package
  • Windows binary packages
  • Version highlights

How to pass the real client IP addresses to backend servers via special request headers

  • Set up page rules for applications
  • Test
Photo by Yichun Zhang
  • Set up page rules for applications
  • Test

When Lua IPC Pipes Block OpenResty or Nginx's Event Loops

  • The Problem
  • Analyses
  • Solutions
  • Results
Photo by Yichun Zhang
  • The Problem
  • Analyses
  • Solutions
  • Results

The Wonderland of Dynamic Tracing (Part 1 of 3)

  • Dynamic Tracing
  • What It Is
  • Too Good to be True?
  • How it Works
  • Still Having Doubts?
  • The Advantages of Dynamic Tracing
  • DTrace
  • SystemTap
  • DTrace and SystemTap
  • Applications of SystemTap in Production
Photo by Philip Brown
  • Dynamic Tracing
  • What It Is
  • Too Good to be True?
  • How it Works
  • Still Having Doubts?
  • The Advantages of Dynamic Tracing
  • DTrace
  • SystemTap
  • DTrace and SystemTap
  • Applications of SystemTap in Production

The Wonderland of Dynamic Tracing (Part 2 of 3)

  • Flame Graphs
  • Methodology
  • Knowledge Is Power
  • Open-Source and Debug Symbols
  • Flame Graphs
  • Methodology
  • Knowledge Is Power
  • Open-Source and Debug Symbols

The Wonderland of Dynamic Tracing (Part 3 of 3)

  • Dynamic Tracing Support in Linux Kernels
  • Hardware Tracing
  • Analyze Remains of Dead Process
  • Traditional Debugging Technologies
  • A Messy World of Debugging
  • OpenResty XRay
Photo by L N
  • Dynamic Tracing Support in Linux Kernels
  • Hardware Tracing
  • Analyze Remains of Dead Process
  • Traditional Debugging Technologies
  • A Messy World of Debugging
  • OpenResty XRay

Optimize Memory Fragmentation due to Huge Nginx Configuration

  • Challenges
  • Analyses
  • Solutions
  • Results
Photo by Yichun Zhang
  • Challenges
  • Analyses
  • Solutions
  • Results

New FAQ Doc for OpenResty XRay

We recently prepared a new FAQ document for OpenResty XRay
Photo by Yichun Zhang
We recently prepared a new FAQ document for OpenResty XRay

Automatic Analysis Reports in OpenResty XRay

  • The Past
  • The Present
  • The Future
Photo by Yichun Zhang
  • The Past
  • The Present
  • The Future

Resolving Bilibili’s major site incident with OpenResty XRay

  • The incident
  • Process of resolution
  • Hardening after the incident
  • OpenResty XRay Services
Photo by Yichun Zhang
  • The incident
  • Process of resolution
  • Hardening after the incident
  • OpenResty XRay Services

Tracing the Slowest PCRE Regular Expressions in OpenResty or Nginx Processes

  • System Environment
  • Narrowing Down the Culprit without Guessing
  • Limiting the execution overhead of PCRE
  • Non-Backtracking Regular Expression Engines
  • Lua’s Builtin Patterns
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools
  • System Environment
  • Narrowing Down the Culprit without Guessing
  • Limiting the execution overhead of PCRE
  • Non-Backtracking Regular Expression Engines
  • Lua’s Builtin Patterns
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools

Listing Loaded Lua Modules in OpenResty or Nginx Processes

  • System Environment
  • Names of Loaded Lua Modules
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools
Photo by Yichun Zhang
  • System Environment
  • Names of Loaded Lua Modules
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools

Analyzing the Most CPU-Consuming Requests in OpenResty or Nginx

  • System Environment
  • CPU-Hottest Request Hostnames
  • CPU-Hottest Request URIs
  • Digging Deeper
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools
Photo by Yichun Zhang
  • System Environment
  • CPU-Hottest Request Hostnames
  • CPU-Hottest Request URIs
  • Digging Deeper
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools

Configure HTTP basic auth in OpenResty Edge

  • Configure the HTTP basic auth credentials for applications
    • Add a basic auth user group
    • Enable the basic authentication
    • Test
  • Configure the global HTTP basic auth
    • Add a global basic auth user group
    • Configure the global auth for application
Photo by Yichun Zhang
  • Configure the HTTP basic auth credentials for applications
    • Add a basic auth user group
    • Enable the basic authentication
    • Test
  • Configure the global HTTP basic auth
    • Add a global basic auth user group
    • Configure the global auth for application

How to use custom dynamic metrics in OpenResty Edge

  • Introduction to dynamic metrics
  • Create custom dynamic metrics for the sample application
  • Test
Photo by Yichun Zhang
  • Introduction to dynamic metrics
  • Create custom dynamic metrics for the sample application
  • Test

Limit Request Rate by Custom Keys in OpenResty Edge

  • Add request rate limiting page rule for the sample application
  • Test
  • Limit the rate of SSL handshakes
Photo by Yichun Zhang
  • Add request rate limiting page rule for the sample application
  • Test
  • Limit the rate of SSL handshakes

Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 4 of 4)

  • Transparent Container Tracing
  • Efficient Stack Unwinding
  • Analyzing Dead Processes (Core Dumps)
  • Very Low Tracing Overhead
  • Standard Ylang Libraries & Tools
  • Network Filtering & Control
  • The Ylang Compiler’s Implementation
  • Operating System Support
  • Contributions to Open-Source Communities
Photo by Yichun Zhang
  • Transparent Container Tracing
  • Efficient Stack Unwinding
  • Analyzing Dead Processes (Core Dumps)
  • Very Low Tracing Overhead
  • Standard Ylang Libraries & Tools
  • Network Filtering & Control
  • The Ylang Compiler’s Implementation
  • Operating System Support
  • Contributions to Open-Source Communities
Contact us

OpenResty open-source community workspace

Please join us here and share your thoughts and questions with us, we can't wait to see you there!


limited time offer

Request TRIAL today and receive a diagnostic REPORT
Learn more

Love to hear from you, Get in touch 👋

Message was sent successfully!

Our Team will get back to you within 24 hours.
x