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
Requirements
Basic understanding of networking and coding
Any computer (Windows, Mac or Linux)
Description
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.
Overview
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 CourseDown.com