Atnaujinkite slapukų nuostatas

NGINX Cookbook: Advanced Recipes for High-Performance Load Balancing 2nd New edition [Minkštas viršelis]

  • Formatas: Paperback / softback, 220 pages, aukštis x plotis: 233x178 mm
  • Išleidimo metai: 31-May-2022
  • Leidėjas: O'Reilly Media
  • ISBN-10: 1098126246
  • ISBN-13: 9781098126247
Kitos knygos pagal šią temą:
  • Formatas: Paperback / softback, 220 pages, aukštis x plotis: 233x178 mm
  • Išleidimo metai: 31-May-2022
  • Leidėjas: O'Reilly Media
  • ISBN-10: 1098126246
  • ISBN-13: 9781098126247
Kitos knygos pagal šią temą:

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

Preface ix
1 Basics
1(8)
1.0 Introduction
1(1)
1.1 Installing NGINX on Debian/Ubuntu
1(1)
1.2 Installing NGINX on RedHat/CentOS
2(1)
1.3 Installing NGINX Plus
3(1)
1.4 Verifying Your Installation
3(1)
1.5 Key Files, Directories, and Commands
4(2)
1.6 Serving Static Content
6(1)
1.7 Graceful Reload
7(2)
2 High-Performance Load Balancing
9(16)
2.0 Introduction
9(1)
2.1 HTTP Load Balancing
10(1)
2.2 TCP Load Balancing
11(2)
2.3 UDP Load Balancing
13(1)
2.4 Load-Balancing Methods
14(2)
2.5 Sticky Cookie with NGINX Plus
16(1)
2.6 Sticky Learn with NGINX Plus
17(1)
2.7 Sticky Routing with NGINX Plus
18(1)
2.8 Connection Draining with NGINX Plus
19(1)
2.9 Passive Health Checks
20(1)
2.10 Active Health Checks with NGINX Plus
21(2)
2.11 Slow Start with NGINX Plus
23(2)
3 Traffic Management
25(10)
3.0 Introduction
25(1)
3.1 A/B Testing
25(2)
3.2 Using the GeoIP Module and Database
27(2)
3.3 Restricting Access Based on Country
29(1)
3.4 Finding the Original Client
30(1)
3.5 Limiting Connections
31(1)
3.6 Limiting Rate
32(2)
3.7 Limiting Bandwidth
34(1)
4 Massively Scalable Content Caching
35(8)
4.0 Introduction
35(1)
4.1 Caching Zones
35(1)
4.2 Cache Locking
36(1)
4.3 Caching Hash Keys
37(1)
4.4 Cache Bypass
38(1)
4.5 Cache Performance
39(1)
4.6 Cache Purging with NGINX Plus
39(1)
4.7 Cache Slicing
40(3)
5 Programmability and Automation
43(16)
5.0 Introduction
43(1)
5.1 NGINX Plus API
43(4)
5.2 Using the Key-Value Store with NGINX Plus
47(2)
5.3 Using the NJS Module to Expose JavaScript Functionality Within NGINX
49(3)
5.4 Extending NGINX with a Common Programming Language
52(2)
5.5 Installing with Chef
54(1)
5.6 Installing with Ansible
55(2)
5.7 Automating Configurations with Consul Templating
57(2)
6 Authentication
59(10)
6.0 Introduction
59(1)
6.1 HTTP Basic Authentication
59(2)
6.2 Authentication Sub requests
61(1)
6.3 Validating JWTs with NGINX Plus
62(1)
6.4 Creating JSON Web Keys
63(1)
6.5 Validate JSON Web Tokens with NGINX Plus
64(1)
6.6 Automatically Obtaining and Caching JSON Web Key Sets with NGINX Plus
65(1)
6.7 Authenticate Users via Existing OpenID Connect SSO with NGINX Plus
66(3)
7 Security Controls
69(20)
7.0 Introduction
69(1)
7.1 Access Based on IP Address
69(1)
7.2 Allowing Cross-Origin Resource Sharing
70(2)
7.3 Client-Side Encryption
72(1)
7.4 Advanced Client-Side Encryption
73(2)
7.5 Upstream Encryption
75(1)
7.6 Securing a Location
75(1)
7.7 Generating a Secure Link with a Secret
76(1)
7.8 Securing a Location with an Expire Date
77(1)
7.9 Generating an Expiring Link
78(2)
7.10 HTTPS Redirects
80(1)
7.11 Redirecting to HTTPS Where SSL/TLS Is Terminated Before NGINX
80(1)
7.12 HTTP Strict Transport Security
81(1)
7.13 Satisfying Any Number of Security Methods
82(1)
7.14 NGINX Plus Dynamic Application Layer DDoS Mitigation
83(1)
7.15 Installing and Configuring NGINX Plus with the NGINX App Protect WAF Module
84(5)
8 HTTP/2
89(6)
8.0 Introduction
89(1)
8.1 Basic Configuration
89(1)
8.2 gRPC
90(2)
8.3 HTTP/2 Server Push
92(3)
9 Sophisticated Media Streaming
95(4)
9.0 Introduction
95(1)
9.1 Serving MP4 and FLV
95(1)
9.2 Streaming with HLS with NGINX Plus
96(1)
9.3 Streaming with HDS with NGINX Plus
97(1)
9.4 Bandwidth Limits with NGINX Plus
98(1)
10 Cloud Deployments
99(14)
10.0 Introduction
99(1)
10.1 Auto-Provisioning on AWS
99(2)
10.2 Routing to NGINX Nodes Without an AWS ELB
101(1)
10.3 The NLB Sandwich
102(2)
10.4 Deploying from the AWS Marketplace
104(1)
10.5 Creating an NGINX Virtual Machine Image on Azure
105(2)
10.6 Load Balancing Over NGINX Scale Sets on Azure
107(1)
10.7 Deploying Through the Azure Marketplace
108(1)
10.8 Deploying to Google Compute Engine
109(1)
10.9 Creating a Google Compute Image
109(1)
10.10 Creating a Google App Engine Proxy
110(3)
11 Containers/Microservices
113(18)
11.0 Introduction
113(1)
11.1 Using NGINX as an API Gateway
114(4)
11.2 Using DNS SRV Records with NGINX Plus
118(1)
11.3 Using the Official NGINX Image
119(1)
11.4 Creating an NGINX Dockerfile
120(2)
11.5 Building an NGINX Plus Docker Image
122(2)
11.6 Using Environment Variables in NGINX
124(1)
11.7 Kubernetes Ingress Controller
125(2)
11.8 Prometheus Exporter Module
127(1)
11.9 NGINX Service Mesh mTLS
128(3)
12 High-Availability Deployment Modes
131(8)
12.0 Introduction
131(1)
12.1 NGINX Plus HA Mode
131(1)
12.2 Load-Balancing Load Balancers with DNS
132(1)
12.3 Load Balancing on EC2
132(1)
12.4 NGINX Plus Configuration Synchronization
133(3)
12.5 State Sharing with NGINX Plus and Zone Sync
136(3)
13 Advanced Activity Monitoring
139(8)
13.0 Introduction
139(1)
13.1 Enable NGINX Open Source Stub Status
139(1)
13.2 Enabling the NGINX Plus Monitoring Dashboard
140(3)
13.3 Collecting Metrics Using the NGINX Plus API
143(4)
14 Debugging and Troubleshooting with Access Logs, Error Logs, and Request Tracing
147(8)
14.0 Introduction
147(1)
14.1 Configuring Access Logs
147(2)
14.2 Configuring Error Logs
149(1)
14.3 Forwarding to Syslog
150(1)
14.4 Request Tracing
151(1)
14.5 OpenTracing for NGINX
152(3)
15 Performance Tuning
155(6)
15.0 Introduction
155(1)
15.1 Automating Tests with Load Drivers
155(1)
15.2 Keeping Connections Open to Clients
156(1)
15.3 Keeping Connections Open Upstream
157(1)
15.4 Buffering Responses
158(1)
15.5 Buffering Access Logs
159(1)
15.6 OS Tuning
159(2)
16 Introduction to NGINX Instance Manager
161(6)
16.0 Introduction
161(1)
16.1 Setup Overview
161(2)
16.2 Agent Installation
163(2)
16.3 Automating NGINX Discovery, Configuration, and Monitoring with the API
165(2)
17 Introduction to NGINX Controller
167(8)
17.0 Introduction
167(1)
17.1 Setup Overview
167(2)
17.2 Connecting NGINX Plus with Controller
169(1)
17.3 Driving NGINX Controller with the API
170(1)
17.4 Enable WAF Through Controller App Security
171(4)
18 Practical Ops Tips and Conclusion
175(4)
18.0 Introduction
175(1)
18.1 Using Includes for Clean Configs
175(1)
18.2 Debugging Configs
176(3)
Conclusion 179(2)
Index 181
Derek DeJonghe has had a lifelong passion for technology. His in-depth background and experience in web development, system administration, and networking give him a well-rounded understanding of modern web architecture. Leading a team of cloud architects and solution engineers, to producing self-healing, auto scaling infrastructure for numerous different applications, Derek specializes in cloud migrations and operations of all sizes. While designing, building, and maintaining highly available applications for clients, Derek often engages in an embedded consulting role for larger organizations as they embark on their journey to the cloud.