NGINX Cookbook: Advanced Recipes for High-Performance Load Balancing, 2nd Edition
- Length: 220 pages
- Edition: 2
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2022-06-28
- ISBN-10: 1098126246
- ISBN-13: 9781098126247
- Sales Rank: #3991382 (See Top 100 Books)
NGINX is one of the most widely used web servers available today, in part because of its capabilities as a load balancer and reverse proxy server for HTTP and other network protocols. This revised cookbook provides easy-to-follow examples of real-world problems in application delivery. The practical recipes will help you set up and use either the open source or commercial offering to solve problems in various use cases.
For professionals who understand modern web architectures, such as n-tier or microservice designs and common web protocols such as TCP and HTTP, these recipes provide proven solutions for security and software load balancing and for monitoring and maintaining NGINX’s application delivery platform. You’ll also explore advanced features of both NGINX and NGINX Plus, the free and licensed versions of this server.
You’ll find recipes for:
- High-performance load balancing with HTTP, TCP, and UDP
- Securing access through encrypted traffic, secure links, HTTP authentication subrequests, and more
- Deploying NGINX to Google, AWS, and Azure cloud computing services
- Setting up and configuring NGINX Controller
- Installing and configuring the NGINX App Protect module
- Enabling WAF through Controller ADC
- NGINX Instance Manager (new chapter)
- New recipes for NGINX Service Mesh, HTTP3 and QUIC, and the njs module
Foreword Preface Conventions Used in This Book O’Reilly Online Learning How to Contact Us Acknowledgments 1. Basics 1.0. Introduction 1.1. Installing NGINX on Debian/Ubuntu 1.2. Installing NGINX on RedHat/CentOS 1.3. Installing NGINX Plus 1.4. Verifying Your Installation 1.5. Key Files, Directories, and Commands 1.6. Serving Static Content 1.7. Graceful Reload 2. High-Performance Load Balancing 2.0. Introduction 2.1. HTTP Load Balancing 2.2. TCP Load Balancing 2.3. UDP Load Balancing 2.4. Load-Balancing Methods 2.5. Sticky Cookie with NGINX Plus 2.6. Sticky Learn with NGINX Plus 2.7. Sticky Routing with NGINX Plus 2.8. Connection Draining with NGINX Plus 2.9. Passive Health Checks 2.10. Active Health Checks with NGINX Plus 2.11. Slow Start with NGINX Plus 3. Traffic Management 3.0. Introduction 3.1. A/B Testing 3.2. Using the GeoIP Module and Database 3.3. Restricting Access Based on Country 3.4. Finding the Original Client 3.5. Limiting Connections 3.6. Limiting Rate 3.7. Limiting Bandwidth 4. Massively Scalable Content Caching 4.0. Introduction 4.1. Caching Zones 4.2. Cache Locking 4.3. Caching Hash Keys 4.4. Cache Bypass 4.5. Cache Performance 4.6. Cache Purging with NGINX Plus 4.7. Cache Slicing 5. Programmability and Automation 5.0. Introduction 5.1. NGINX Plus API 5.2. Using the Key-Value Store with NGINX Plus 5.3. Using the NJS Module to Expose JavaScript Functionality Within NGINX 5.4. Extending NGINX with a Common Programming Language 5.5. Installing with Chef 5.6. Installing with Ansible 5.7. Automating Configurations with Consul Templating 6. Authentication 6.0. Introduction 6.1. HTTP Basic Authentication 6.2. Authentication Subrequests 6.3. Validating JWTs with NGINX Plus 6.4. Creating JSON Web Keys 6.5. Validate JSON Web Tokens with NGINX Plus 6.6. Automatically Obtaining and Caching JSON Web Key Sets with NGINX Plus 6.7. Authenticate Users via Existing OpenID Connect SSO with NGINX Plus 7. Security Controls 7.0. Introduction 7.1. Access Based on IP Address 7.2. Allowing Cross-Origin Resource Sharing 7.3. Client-Side Encryption 7.4. Advanced Client-Side Encryption 7.5. Upstream Encryption 7.6. Securing a Location 7.7. Generating a Secure Link with a Secret 7.8. Securing a Location with an Expire Date 7.9. Generating an Expiring Link 7.10. HTTPS Redirects 7.11. Redirecting to HTTPS Where SSL/TLS Is Terminated Before NGINX 7.12. HTTP Strict Transport Security 7.13. Satisfying Any Number of Security Methods 7.14. NGINX Plus Dynamic Application Layer DDoS Mitigation 7.15. Installing and Configuring NGINX Plus with the NGINX App Protect WAF Module 8. HTTP/2 8.0. Introduction 8.1. Basic Configuration 8.2. gRPC 8.3. HTTP/2 Server Push 9. Sophisticated Media Streaming 9.0. Introduction 9.1. Serving MP4 and FLV 9.2. Streaming with HLS with NGINX Plus 9.3. Streaming with HDS with NGINX Plus 9.4. Bandwidth Limits with NGINX Plus 10. Cloud Deployments 10.0. Introduction 10.1. Auto-Provisioning on AWS 10.2. Routing to NGINX Nodes Without an AWS ELB 10.3. The NLB Sandwich 10.4. Deploying from the AWS Marketplace 10.5. Creating an NGINX Virtual Machine Image on Azure 10.6. Load Balancing Over NGINX Scale Sets on Azure 10.7. Deploying Through the Azure Marketplace 10.8. Deploying to Google Compute Engine 10.9. Creating a Google Compute Image 10.10. Creating a Google App Engine Proxy 11. Containers/Microservices 11.0. Introduction 11.1. Using NGINX as an API Gateway 11.2. Using DNS SRV Records with NGINX Plus 11.3. Using the Official NGINX Image 11.4. Creating an NGINX Dockerfile 11.5. Building an NGINX Plus Docker Image 11.6. Using Environment Variables in NGINX 11.7. Kubernetes Ingress Controller 11.8. Prometheus Exporter Module 11.9. NGINX Service Mesh mTLS 12. High-Availability Deployment Modes 12.0. Introduction 12.1. NGINX Plus HA Mode 12.2. Load-Balancing Load Balancers with DNS 12.3. Load Balancing on EC2 12.4. NGINX Plus Configuration Synchronization 12.5. State Sharing with NGINX Plus and Zone Sync 13. Advanced Activity Monitoring 13.0. Introduction 13.1. Enable NGINX Open Source Stub Status 13.2. Enabling the NGINX Plus Monitoring Dashboard 13.3. Collecting Metrics Using the NGINX Plus API 14. Debugging and Troubleshooting with Access Logs, Error Logs, and Request Tracing 14.0. Introduction 14.1. Configuring Access Logs 14.2. Configuring Error Logs 14.3. Forwarding to Syslog 14.4. Request Tracing 14.5. OpenTracing for NGINX 15. Performance Tuning 15.0. Introduction 15.1. Automating Tests with Load Drivers 15.2. Keeping Connections Open to Clients 15.3. Keeping Connections Open Upstream 15.4. Buffering Responses 15.5. Buffering Access Logs 15.6. OS Tuning 16. Introduction to NGINX Instance Manager 16.0. Introduction 16.1. Setup Overview 16.2. Agent Installation 16.3. Automating NGINX Discovery, Configuration, and Monitoring with the API 17. Introduction to NGINX Controller 17.0. Introduction 17.1. Setup Overview 17.2. Connecting NGINX Plus with Controller 17.3. Driving NGINX Controller with the API 17.4. Enable WAF Through Controller App Security 18. Practical Ops Tips and Conclusion 18.0. Introduction 18.1. Using Includes for Clean Configs 18.2. Debugging Configs Conclusion Index About the Author
Donate to keep this site alive
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: NGINX Cookbook: Advanced Recipes for High-Performance Load Balancing, 2nd Edition
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.