🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Nginx রিভার্স প্রক্সি গাইড 2026: SSL, লোড ব্যালেন্সিং এবং প্রোডাকশন সেটআপ

⏱️2 min read  ·  333 words
Nginx Reverse Proxy Guide 2026: SSL, Load Balancing and Production Setup

Nginx2026 সালে সর্বাধিক ব্যবহৃত ওয়েব সার্ভার এবং বিপরীত প্রক্সি। এটি প্রতি সেকেন্ডে লক্ষ লক্ষ অনুরোধ পরিচালনা করে, SSL বন্ধ করে, ব্যাকএন্ড লোড-ব্যালেন্স করে এবং OS গতিতে স্ট্যাটিক ফাইল পরিবেশন করে। এই নির্দেশিকাটি SSL এবং ক্যাশিং সহ Nginx ইনস্টল থেকে উত্পাদন কনফিগারেশন পর্যন্ত কভার করে।

Nginx ইনস্টল করুন

# Ubuntu/Debian
sudo apt install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

# Check status
sudo nginx -t          # test config
sudo systemctl status nginx

# Config location
ls /etc/nginx/sites-available/

বেসিক রিভার্স প্রক্সি

পোর্ট 80 থেকে পোর্ট 8000 এ চলমান আপনার অ্যাপে ট্র্যাফিক ফরওয়ার্ড করুন।

# /etc/nginx/sites-available/myapp
server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        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;
    }
}

# Enable site
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

আসুন এনক্রিপ্ট সহ SSL (ফ্রি)

# Install Certbot
sudo apt install certbot python3-certbot-nginx

# Obtain and install SSL
sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal (already added to cron by certbot)
sudo certbot renew --dry-run

Certbot স্বয়ংক্রিয়ভাবে HTTPS এবং HTTP-থেকে-HTTPS পুনঃনির্দেশ যোগ করতে আপনার Nginx কনফিগারেশন পরিবর্তন করে।

SSL এর সাথে সম্পূর্ণ উৎপাদন কনফিগার

# HTTP -> HTTPS redirect
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

# HTTPS server
server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # Security headers
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header Strict-Transport-Security 'max-age=31536000' always;

    # Proxy to app
    location / {
        proxy_pass http://127.0.0.1:8000;
        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_read_timeout 60s;
        proxy_connect_timeout 10s;
    }

    # Static files served directly by Nginx
    location /static/ {
        alias /var/www/myapp/static/;
        expires 1y;
        add_header Cache-Control 'public, immutable';
    }
}

লোড ব্যালেন্সিং

upstream myapp_backend {
    least_conn;  # send to least busy server
    server 10.0.0.1:8000;
    server 10.0.0.2:8000;
    server 10.0.0.3:8000;
}

server {
    listen 443 ssl http2;
    location / {
        proxy_pass http://myapp_backend;
    }
}

হার সীমাবদ্ধতা

# In http block (nginx.conf)
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;

# In server block
location /api/ {
    limit_req zone=api burst=20 nodelay;
    proxy_pass http://127.0.0.1:8000;
}

উপসংহার

Nginx একটি কারণের জন্য উত্পাদন মান – দ্রুত, স্থিতিশীল এবং নমনীয়। যেকোনো অ্যাপের (FastAPI, Django, Node, Rails) সামনে এটিকে বিপরীত প্রক্সি হিসেবে ব্যবহার করুন। বিনামূল্যে SSL-এর জন্য Certbot যোগ করুন, রেট সীমিত কনফিগার করুন, এবং সর্বাধিক কর্মক্ষমতার জন্য সরাসরি স্ট্যাটিক ফাইল পরিবেশন করুন।

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা