Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
- HTTP/1.x Protocol
- Structure of request and response messages
- Analyzing HTTP traffic using tcpdump and Wireshark
- Examining HTTP headers within a web browser
- Executing requests via CURL
- Overview of common HTTP headers
- Understanding request pipelining
- Content length and chunked encoding mechanisms
- Managing MIME types
- Installing Nginx
- Deployment from Debian packages
- Exploring Nginx variants in Debian and Ubuntu
- Building and installing Nginx from source code
- Starting the Nginx service
- Performing Nginx upgrades
- Configuring Nginx as a Static File Server
- Structure of the Nginx configuration file
- Setting up virtual hosts
- Configuring location blocks
- Understanding location matching precedence
- Customizing error pages
- Implementing redirects
- Advanced URL rewriting techniques
- Serving empty GIF images for optimization
- Using internal and named locations
- Overriding MIME types for specific resources
- Optimizing Client-Side Performance
- Enabling client-side caching of resources
- Utilizing the Vary header
- Reducing the total number of HTTP requests
- Configuring keep-alive connections
- Strategies for handling dynamic resource changes
- Managing static files within web frameworks
- Content Post-Processing
- Implementing Gzip compression
- Scaling images on the fly
- Access Control Strategies
- Restricting file access based on IP addresses
- Geographical access restrictions
- Hiding version control directories and sensitive files
- Implementing Basic authentication
- Exploring other authentication methods
- Combining multiple access restrictions
- Creating secure, time-limited links
- Applying Rate Limits and Constraints
- Shaping network traffic
- Grouping requests for effective limiting
- Implementing request rate limits
- Limiting simultaneous connections per client
- Nginx as a Reverse Proxy
- Supported upstream protocols
- Handling self-signed SSL certificates from upstream servers
- Passing parameters to FastCGI and uWSGI backends
- Proxying WebSocket connections
- Utilizing X-Accel-* headers
- Modifying headers sent to and received from upstream servers
- Language-Specific Reverse Proxy Configurations
- PHP integration
- Python integration
- Ruby integration
- Nginx as an SSL Terminator
- Generating self-signed SSL certificates
- Obtaining certificates from Let's Encrypt
- Restricting available cryptographic ciphers
- Managing SSL session tickets
- Implementing OCSP stapling
- Verifying SSL configuration security
- Accepting client-side certificates
- Considering HTTP/2 implications
- Load Balancing with Nginx
- Defining upstream groups
- Implementing sticky sessions using ip_hash
- Advanced features in Nginx Plus for load balancing
- Alternatives to standard Nginx and Nginx Plus
- Deploying a secondary Nginx behind an Nginx load balancer
- Placing Nginx behind HAProxy or AWS Load Balancer
- Nginx as a Cache Server
- Configuring Nginx to cache web pages
- Understanding Nginx's response to standard caching headers
- Tuning cache parameters
- Comparing Nginx cache with application-level caching
- Managing cache invalidation
- Deploying Popular Web Applications with Nginx
- Specific applications covered are at the instructor's discretion
- Logging Strategies
- Managing access and error log files
- Defining custom log formats
- Identifying and tracking slow requests
- Optimizing log performance
- Configuring log rotation
- Analyzing logs using external tools
- Monitoring Nginx
- Using the Nginx stub_status module
- Utilizing the Nginx Plus extended live status page
- Key metrics and alerts in standard monitoring systems for Nginx
- [Optional] Achieving High Availability with Nginx¹
- Deploying identical static content across multiple servers
- Sharing configuration across nodes
- Failover mechanisms using elastic/virtual IP addresses
- Configuring VRRP with Keepalived
- Exploring other high-availability stacks
- Integrating Nginx Plus with Keepalived
- Addressing Common Configuration Mistakes and Security Vulnerabilities
- Identifying and Resolving Common Performance Issues
¹ The High Availability module requires a specialized network setup that may trigger intrusion detection alerts or necessitate multiple virtual machines per participant, which are not provided by default.
Requirements
Participants should be proficient with the Linux command line and possess a solid understanding of TCP/IP networking concepts.
21 Hours
Testimonials (1)
The trainer was very knowledgeable and was able to answer most questions that were somewhat outside of the scope of what we needed to cover. He was dynamic, funny and polite.