This device is not compatible.
You will learn to:
Deploy scalable APIs to production environments.
Manage reverse proxy using Nginx.
Explore Nginx and its features for security and performance.
Implement traffic control and routing for seamless updates and rollbacks.
Skills
DevOps
Cloud Deployment
Prerequisites
Basic understanding of APIs
Basics of Docker
Working with CLI
Technologies
Nginx
Docker
Project Description
In this project, we'll deploy a production-ready REST API using Nginx (pronounced as engine x) as a reverse proxy server and web server to enhance security, performance, and scalability. Nginx is an industry-standard solution for API deployment that shields backend servers from direct exposure, efficiently handles client requests, and provides load balancing capabilities. We'll explore multiple deployment strategies including manual execution, process management with PM2, and Docker containerization, then secure the application with firewall configuration, rate limiting, and XSS attack prevention.
We'll start by running the API manually to understand the baseline setup, then implement PM2 process manager for automatic restarts and process monitoring. Next, we'll containerize the application using Docker for consistent deployment across environments. We'll configure Nginx as a reverse proxy to forward requests to the backend API, hiding server details and adding a security layer. We'll extend the Nginx configuration to handle multiple API endpoints with custom routing rules and URL rewriting.
Finally, we'll harden the deployment by configuring UFW firewall rules to restrict unauthorized access, implementing request rate limiting to prevent DDoS attacks and abuse, and adding HTTP headers to mitigate cross-site scripting (XSS) vulnerabilities. By the end, we'll have a secure, scalable production API deployment demonstrating Nginx reverse proxy configuration, Docker containerization, PM2 process management, server security hardening, and API security best practices applicable to any production web server environment.
Project Tasks
1
Introduction
Task 0: Get Started
2
Deploying Application
Task 1: Run the API Manually
Task 2: Run the API Using PM2
Task 3: Run the API Using Docker
3
About Nginx
Task 4: Run the Nginx Server
4
Using Nginx Reverse Proxy
Task 5: Run the API Using the Reverse Proxy
Task 6: Add Multiple Endpoints to Nginx Config
5
Securing the Server
Task 7: Secure the Firewall
Task 8: Limit Incoming Requests
Task 9: Prevent XSS Attacks
Congratulations!
Subscribe to project updates
Atabek BEKENOV
Senior Software Engineer
Pradip Pariyar
Senior Software Engineer
Renzo Scriber
Senior Software Engineer
Vasiliki Nikolaidi
Senior Software Engineer
Juan Carlos Valerio Arrieta
Senior Software Engineer
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.