Introduction to NGINX

Understand and Deploy Layer 4/Layer 7 Load Balancing, WebSockets, HTTPS, HTTP/2, TLS 1.3 with NGINX (With Docker)
Introduction to NGINX
File Size :
2.89 GB
Total length :
6h 36m



Hussein Nasser


Last update

Last updated 11/2022



Introduction to NGINX

What you’ll learn

Layer 7 Load Balancing between services
Layer 4 Load Balancing between services
Setup NGINX as a Web Server
TLS Passthrough vs TLS Termination
Block Undesired Requests and Re-route requests to different services
Enable HTTPS with letsEncrypt
Enable HTTP/2 with NGINX
Enable TLS 1.3 with NGINX
NGINX Timeouts
Scaling WebSockets with NGINX
Load Balancing WebSockets with NGINX

Introduction to NGINX


Basic understanding of networking and coding
Any computer (Windows, Mac or Linux)


NGINX is an open-source web server written in C and can also be used as a reverse proxy and a load balancer.   This class Is an introduction to NGINX, by the end of this class you will be able to understand the fundamentals of NGINX and spin up your own instance and even secure it with a legitimate certificate.  Here are the topics that I will discuss:What is NGINX? NGINX Use CasesLayer 4 and Layer 7 Proxying in Nginx NGINX TimooutsExampleInstall Nginx (mac)  Nginx as a Web Server  Static contentRegular expression in NGINXproxy_passNginx as a Layer 7 ProxyProxy to 4 backend NodeJS services (docker)IP_Hash load balancingSplit load to multiple backends (app1/app2)Block certain requests (/admin)NGINX as a Layer 4 ProxyCreate DNS recordEnable HTTPS on NGINX (lets encrypt)Enable TLS 1.3 on NGINXEnable HTTP/2 on NGINXA small blurb about NGINXNGINX is one of a handful of servers written to address the C10K problem. Unlike traditional servers, NGINX doesn’t rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load. Even if you don’t expect to handle thousands of simultaneous requests, you can still benefit from NGINX’s high-performance and small memory footprint. NGINX scales in all directions: from the smallest VPS all the way up to large clusters of servers.


Section 1: The Fundamentals of NGINX

Lecture 1 Introduction

Lecture 2 Download Slides here

Lecture 3 What is NGINX?

Lecture 4 NGINX Use Cases

Lecture 5 Layer 4 and Layer 7 Load Balancing in NGINX

Lecture 6 TLS Termination and TLS Passthrough

Lecture 7 NGINX Internal Architecture

Lecture 8 Threading and Connections

Lecture 9 NGINX Threading Architecture

Section 2: Running NGINX in Docker

Lecture 10 What are we building?

Lecture 11 Download source code and config here

Lecture 12 NGINX WebServer Container

Lecture 13 Three Node app containers with NGINX in One Docker Network

Lecture 14 Two NGINX containers load balancing to same backends

Lecture 15 Docker networking

Section 3: Understanding NGINX Timeouts for efficient configuration

Lecture 16 NGINX Frontend Timeouts

Lecture 17 client_header_timeout

Lecture 18 client_body_timeout

Lecture 19 send_timeout

Lecture 20 keepalive_timeout

Lecture 21 lingering_timeout

Lecture 22 resolver_timeout

Lecture 23 NGINX Backend Timeouts

Lecture 24 proxy_connect_timeout

Lecture 25 proxy_send_timeout

Lecture 26 proxy_read_timeout

Lecture 27 proxy_next_upstream_timeout

Lecture 28 keepalive_timeout_backend

Section 4: More NGINX Configurations

Lecture 29 Read this before you continue with this section

Lecture 30 Spin up lightweight Docker Container with your application (nodeapp)

Lecture 31 Working with NGINX – What will we do?

Lecture 32 Installing NGINX

Lecture 33 NGINX as a Web Server

Lecture 34 NGINX as a Layer 7 Proxy

Lecture 35 NGINX as a Layer 4 Proxy

Lecture 36 Enable HTTPS on NGINX

Lecture 37 Enabling Fast and Secure TLS 1.3 on NGINX

Lecture 38 Enable HTTP/2 on NginX

Section 5: Scaling WebSockets with NGINX

Lecture 39 Download section slides, code, config and resources here

Lecture 40 NGINX and WebSockets Agenda

Lecture 41 Introduction to WebSockets

Lecture 42 Layer 4 vs Layer 7 WebSockets Proxying

Lecture 43 Spin up a WebSockets Server

Lecture 44 Configure NGINX as Layer 4 WebSocket Proxying

Lecture 45 Configure NGINX as Layer 7 WebSocket Proxying

Lecture 46 Section Summary

Section 6: Answering your Questions

Lecture 47 How to Scale NGINX?

Lecture 48 How many Backends do we need for NGINX?

Section 7: Bonus Content

Lecture 49 NGINRat – a remote access trojan injecting NGINX (article)

Lecture 50 Bonus – Proxy vs Reverse Proxy

Lecture 51 Course Summary

Engineers who want to deploy Web Servers,Engineers who want to understand how to enable TLS and HTTPS,Engineers interested in Proxy technology, reverse proxy and load balancing,Engineers who want to use NGINX to scale HTTP and WebSockets applications

Course Information:

Udemy | English | 6h 36m | 2.89 GB
Created by: Hussein Nasser

You Can See More Courses in the IT & Software >> Greetings from

New Courses

Scroll to Top