NGINX Cookbook

Book description

None

Table of contents

  1. Foreword
  2. Preface
    1. Conventions Used in This Book
    2. Using Code Examples
    3. O’Reilly Online Learning
    4. How to Contact Us
    5. Acknowledgments
  3. 1. Basics
    1. 1.0. Introduction
    2. 1.1. Installing on Debian/Ubuntu
    3. 1.2. Installing on RedHat/CentOS
    4. 1.3. Installing NGINX Plus
    5. 1.4. Verifying Your Installation
    6. 1.5. Key Files, Directories, and Commands
    7. 1.6. Serving Static Content
    8. 1.7. Graceful Reload
  4. 2. High-Performance Load Balancing
    1. 2.0. Introduction
    2. 2.1. HTTP Load Balancing
    3. 2.2. TCP Load Balancing
    4. 2.3. UDP Load Balancing
    5. 2.4. Load-Balancing Methods
    6. 2.5. Sticky Cookie with NGINX Plus
    7. 2.6. Sticky Learn with NGINX Plus
    8. 2.7. Sticky Routing with NGINX Plus
    9. 2.8. Connection Draining with NGINX Plus
    10. 2.9. Passive Health Checks
    11. 2.10. Active Health Checks with NGINX Plus
    12. 2.11. Slow Start with NGINX Plus
  5. 3. Traffic Management
    1. 3.0. Introduction
    2. 3.1. A/B Testing
    3. 3.2. Using the GeoIP Module and Database
    4. 3.3. Restricting Access Based on Country
    5. 3.4. Finding the Original Client
    6. 3.5. Limiting Connections
    7. 3.6. Limiting Rate
    8. 3.7. Limiting Bandwidth
  6. 4. Massively Scalable Content Caching
    1. 4.0. Introduction
    2. 4.1. Caching Zones
    3. 4.2. Cache Locking
    4. 4.3. Caching Hash Keys
    5. 4.4. Cache Bypass
    6. 4.5. Cache Performance
    7. 4.6. Cache Purging with NGINX Plus
    8. 4.7. Cache Slicing
  7. 5. Programmability and Automation
    1. 5.0. Introduction
    2. 5.1. NGINX Plus API
    3. 5.2. Using the Key-Value Store with NGINX Plus
    4. 5.3. Extending NGINX with a Common Programming Language
    5. 5.4. Installing with Puppet
    6. 5.5. Installing with Chef
    7. 5.6. Installing with Ansible
    8. 5.7. Installing with SaltStack
    9. 5.8. Automating Configurations with Consul Templating
  8. 6. Authentication
    1. 6.0. Introduction
    2. 6.1. HTTP Basic Authentication
    3. 6.2. Authentication Subrequests
    4. 6.3. Validating JWTs with NGINX Plus
    5. 6.4. Creating JSON Web Keys
    6. 6.5. Validate JSON Web Tokens with NGINX Plus
    7. 6.6. Automatically Obtaining and Caching JSON Web Key Sets with NGINX Plus
    8. 6.7. Authenticate Users via Existing OpenID Connect SSO with NGINX Plus
  9. 7. Security Controls
    1. 7.0. Introduction
    2. 7.1. Access Based on IP Address
    3. 7.2. Allowing Cross-Origin Resource Sharing
    4. 7.3. Client-Side Encryption
    5. 7.4. Advanced Client-Side Encryption
    6. 7.5. Upstream Encryption
    7. 7.6. Securing a Location
    8. 7.7. Generating a Secure Link with a Secret
    9. 7.8. Securing a Location with an Expire Date
    10. 7.9. Generating an Expiring Link
    11. 7.10. HTTPS Redirects
    12. 7.11. Redirecting to HTTPS Where SSL/TLS Is Terminated Before NGINX
    13. 7.12. HTTP Strict Transport Security
    14. 7.13. Satisfying Any Number of Security Methods
    15. 7.14. NGINX Plus Dynamic Application Layer DDoS Mitigation
    16. 7.15. Installing and Configuring NGINX Plus App Protect Module
  10. 8. HTTP/2
    1. 8.0. Introduction
    2. 8.1. Basic Configuration
    3. 8.2. gRPC
    4. 8.3. HTTP/2 Server Push
  11. 9. Sophisticated Media Streaming
    1. 9.0. Introduction
    2. 9.1. Serving MP4 and FLV
    3. 9.2. Streaming with HLS with NGINX Plus
    4. 9.3. Streaming with HDS with NGINX Plus
    5. 9.4. Bandwidth Limits with NGINX Plus
  12. 10. Cloud Deployments
    1. 10.0. Introduction
    2. 10.1. Auto-Provisioning on AWS
    3. 10.2. Routing to NGINX Nodes Without an AWS ELB
    4. 10.3. The NLB Sandwich
    5. 10.4. Deploying from the AWS Marketplace
    6. 10.5. Creating an NGINX Virtual Machine Image on Azure
    7. 10.6. Load Balancing Over NGINX Scale Sets on Azure
    8. 10.7. Deploying Through the Azure Marketplace
    9. 10.8. Deploying to Google Compute Engine
    10. 10.9. Creating a Google Compute Image
    11. 10.10. Creating a Google App Engine Proxy
  13. 11. Containers/Microservices
    1. 11.0. Introduction
    2. 11.1. Using NGINX as an API Gateway
    3. 11.2. Using DNS SRV Records with NGINX Plus
    4. 11.3. Using the Official NGINX Image
    5. 11.4. Creating an NGINX Dockerfile
    6. 11.5. Building an NGINX Plus Docker Image
    7. 11.6. Using Environment Variables in NGINX
    8. 11.7. Kubernetes Ingress Controller
    9. 11.8. Prometheus Exporter Module
  14. 12. High-Availability Deployment Modes
    1. 12.0. Introduction
    2. 12.1. NGINX Plus HA Mode
    3. 12.2. Load-Balancing Load Balancers with DNS
    4. 12.3. Load Balancing on EC2
    5. 12.4. NGINX Plus Configuration Synchronization
    6. 12.5. State Sharing with NGINX Plus and Zone Sync
  15. 13. Advanced Activity Monitoring
    1. 13.0. Introduction
    2. 13.1. Enable NGINX Open Source Stub Status
    3. 13.2. Enabling the NGINX Plus Monitoring Dashboard
    4. 13.3. Collecting Metrics Using the NGINX Plus API
  16. 14. Debugging and Troubleshooting with Access Logs, Error Logs, and Request Tracing
    1. 14.0. Introduction
    2. 14.1. Configuring Access Logs
    3. 14.2. Configuring Error Logs
    4. 14.3. Forwarding to Syslog
    5. 14.4. Request Tracing
    6. 14.5. OpenTracing for NGINX
  17. 15. Performance Tuning
    1. 15.0. Introduction
    2. 15.1. Automating Tests with Load Drivers
    3. 15.2. Keeping Connections Open to Clients
    4. 15.3. Keeping Connections Open Upstream
    5. 15.4. Buffering Responses
    6. 15.5. Buffering Access Logs
    7. 15.6. OS Tuning
  18. 16. Introduction to NGINX Controller
    1. 16.0. Introduction
    2. 16.1. Setup Overview
    3. 16.2. Connecting NGINX Plus with Controller
    4. 16.3. Driving NGINX Controller with the API
    5. 16.4. Enable WAF Through Controller App Security
  19. 17. Practical Ops Tips and Conclusion
    1. 17.0. Introduction
    2. 17.1. Using Includes for Clean Configs
    3. 17.2. Debugging Configs
  20. Conclusion
  21. Index

Product information

  • Title: NGINX Cookbook
  • Author(s):
  • Release date:
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: None