Menu
User

DropVPS Team

Writer: John hens

how to install nginx reverse proxy on Debian 12

how to install nginx reverse proxy on Debian 12

Publication Date

10/11/2025

Category

Articles

Reading Time

3 Min

Table of Contents

Installing Nginx as a reverse proxy on Debian 12 is an effective way to improve your website’s performance, security, and scalability. A reverse proxy acts as an intermediary between clients and backend servers, efficiently managing requests, distributing load, and enabling features like HTTPS, caching, and request routing.
Using Nginx for this purpose ensures fast response times, reduces server load, and provides a secure layer that protects your backend services from direct exposure to the internet

Step 1: Update Your System and Install Nginx

Before installing Nginx, update your Debian 12 packages to ensure compatibility and security. A fully updated system reduces potential conflicts and installation errors

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y

Step 2: Enable and Check Nginx Service

After installation, confirm that Nginx is running and enabled at startup. This ensures your reverse proxy will function immediately and after server reboots

sudo systemctl enable nginx
sudo systemctl start nginx

Step 3: Allow Web Traffic Through the Firewall

To allow clients to access your server, you need to open HTTP and HTTPS ports in Debian’s firewall (UFW). This step ensures Nginx can serve requests securely

sudo ufw allow 'Nginx Full'
sudo ufw reload

Step 4: Configure Nginx as a Reverse Proxy

A reverse proxy forwards client requests to backend services running on other ports or servers. This configuration improves performance, security, and scalability

sudo nano /etc/nginx/sites-available/reverse-proxy.conf

Add the following configuration, replacing example.com and the backend port as  needed:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Step 5: Enable the Configuration and Restart Nginx

Activate the configuration by linking it to the sites-enabled directory and then reload Nginx to apply changes

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Step 6: Enable HTTPS with Let’s Encrypt

Enabling SSL ensures encrypted communication, improves security, and positively impacts SEO. Let’s Encrypt provides free SSL certificates, and Certbot can automate the installation

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com

Step 7: Key Benefits for Performance and SEO

Using Nginx as a reverse proxy on Debian 12 improves server performance, enhances security, and boosts SEO. Faster load times, efficient request handling, and HTTPS support help your website rank higher in search engines while keeping backend services safe.

# Enable gzip compression
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 256;

You can enable gzip compression and browser caching to improve performance:

# Enable browser caching for static files
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
}

 

Linux VPS
U
Loading...

Related Posts