Linux ve Sistem 1 dakika okuma

Nginx ile Gelismis Reverse Proxy Yapilandirma

Nginx reverse proxy, load balancing, SSL termination ve rate limiting yapilandirma.

E
Emre Cihan
· · 17 görüntüleme

Nginx Reverse Proxy Neden

Uygulama sunucularini internetten gizler, SSL'i merkezi yonetir, load balancing saglar ve statik dosyalari hizli servis eder.

Temel Reverse Proxy

server {
    listen 80;
    server_name emrecihan.com.tr;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name emrecihan.com.tr;

    ssl_certificate     /etc/letsencrypt/live/emrecihan.com.tr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/emrecihan.com.tr/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    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;
        proxy_read_timeout 60s;
    }
}

Load Balancing

upstream backend {
    least_conn;
    server 192.168.1.10:8000 weight=3;
    server 192.168.1.11:8000 weight=2;
    server 192.168.1.12:8000 backup;
    keepalive 32;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

Rate Limiting

http {
    limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
    limit_req_zone $binary_remote_addr zone=login:10m rate=1r/s;

    server {
        location /api/ {
            limit_req zone=api burst=20 nodelay;
            proxy_pass http://backend;
        }

        location /giris {
            limit_req zone=login burst=3;
            proxy_pass http://backend;
        }
    }
}

Statik Dosya Caching

location ~* .(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
    expires     30d;
    add_header  Cache-Control 'public, immutable';
    access_log  off;
    gzip_static on;
}

Nginx dogru yapilandirildiginda performans ve guvenlik acisindan bircok sorunu tek seferde cozar.


İlgili yazılar: Nginx'in temellerine yeni başlıyorsan önce Nginx Nedir? yazısına, reverse proxy kavramının genel mantığı için Reverse Proxy Nedir? yazısına göz atabilirsin.

Paylaş: Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı

İlgili yazılar

Linux ve Sistem
Nginx Nedir? Web Sunucusu ve Reverse Proxy Olarak Kullanımı
3 dk
Linux ve Sistem
VMware ESXi Nedir? Kurulum, Yönetim ve Sanallaştırma Mimarisi
3 dk
Linux ve Sistem
Proxmox VE Nedir? ESXi'ye Ücretsiz Alternatif mi?
3 dk
Linux ve Sistem
Reverse Proxy Nedir? Nginx ile Kurulum ve Kullanım Senaryoları
3 dk