İçeriğe geç
ToolMug

Nginx Yapılandırma Oluşturucu

Alan adınızı girip site türünü seçin ve gereken özellikleri işaretleyerek kullanıma hazır nginx sunucu yapılandırması alın. Node.js, Python ve Java uygulamaları için ters proxy, statik site, React ve Vue tek sayfa uygulamaları ile PHP desteklenir; HTTP’den HTTPS’e ve www yönlendirmeleri, WebSocket, gzip ve statik dosya önbelleği dahildir.

Tarayıcınızda çalışır — girdiğiniz hiçbir şey yüklenmez

HTTPS
Ekler

0, nginx’in varsayılan 1 MB değerini korur.

Önce sertifikayı alın, örneğin: certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com. Ardından nginx -t çalıştırıp nginx’i yeniden yükleyin.

Nasıl kullanılır

  1. Alan adını ve site türünü seçin — ters proxy için üst akış adresini, diğerleri için web kökünü girin.
  2. Gerektikçe HTTPS, HTTP/2, HSTS, www yönlendirmesi, gzip, önbellek ve güvenlik başlıklarını işaretleyin.
  3. Yapılandırmayı /etc/nginx/conf.d/ içine kopyalayın veya indirin, nginx -t çalıştırıp nginx’i yeniden yükleyin.

Seçeneklerin açıklaması

Ters proxy
Üst akış adresine yönlendirir ve Host, X-Real-IP, X-Forwarded-For ile X-Forwarded-Proto başlıklarını iletir; böylece arka uç ziyaretçinin gerçek IP’sini ve şemasını görür.
Tek sayfa uygulaması
Bilinmeyen yollar index.html’e geri düşer; böylece React Router ve Vue Router gibi history-mode yönlendiricileri yenilemede 404 vermez.
HTTPS
Sertifika yolları certbot’un (Let’s Encrypt) varsayılanlarını izler ve HTTP istekleri HTTPS’ye 301 yönlendirmesi alır. HTTP/2, her nginx sürümünde çalışan listen 443 ssl http2 biçimini kullanır.
HSTS
Tarayıcılara alan adı ve tüm alt alan adları için bir yıl yalnızca HTTPS kullanmalarını söyler. Önce her alt alan adının HTTPS desteklediğinden emin olun; yoksa erişilemez olurlar.

Örnek: HTTPS ve www ile tek sayfa uygulaması

example.com alan adı, Tek sayfa uygulaması, HTTPS, HTTP/2 ve www. adresini de yanıtla ve yönlendir seçenekleri işaretliyken (kısa tutmak için Gzip sıkıştırması, Güvenlik başlıkları ve Statik dosyalar için uzun önbellek kapalı), oluşturucu üç server bloğu yazar:

    1. port her iki adı da yanıtlar, sertifika yenileme için /.well-known/acme-challenge/ yolunu erişilebilir tutar ve geri kalan her şeyi 301 ile https://example.com$request_uri adresine yönlendirir.
  1. www.example.com için 443. port aynı sertifikayı kullanır ve çıplak alan adına 301 döndürür.
  2. example.com için 443. port siteyi sunar:
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

Her iki HTTPS bloğu da /etc/letsencrypt/live/example.com/fullchain.pem ve privkey.pem dosyalarına işaret eder, TLS 1.2 ve 1.3’e izin verir ve bir günlük oturum zaman aşımıyla 10 MB’lık paylaşımlı oturum önbelleği kullanır. try_files satırı, /settings gibi istemci tarafı bir rotada sayfayı yenilemenin 404 yerine uygulamayı döndürmesini sağlar.

Sıkça sorulan sorular

nginx -t neden http2 parametresinin kullanımdan kalktığı konusunda uyarıyor?

nginx 1.25.1’den beri ayrı http2 on; yönergesi tercih edilir, ancak Ubuntu 24.04 ve diğerleriyle gelen 1.24 bunu anlamaz. listen ... http2 biçimi her yerde çalışır; yeni sürümler yalnızca uyarı yazdırır.

Sertifikada www bulunmalı mı?

www yönlendirmesi açıksa evet. Örneğin certbot -d example.com -d www.example.com ile her iki adı da isteyin.

Yüklemeler 413 Request Entity Too Large hatasıyla mı başarısız oluyor?

nginx varsayılan olarak 1 MB istek gövdesine izin verir. Maksimum yükleme boyutunu 100 gibi ihtiyacınız olan değere ayarlayın.

Proxy üzerinden WebSocket bağlantıları başarısız mı?

Proxy, Upgrade ve Connection başlıklarını iletmelidir. WebSocket desteğini işaretlemek bunları ekler ve okuma zaman aşımını bir saate çıkarır.

Gizlilik

Bu araç tamamen tarayıcınızda çalışır. Dosyalarınız ve metinleriniz cihazınızda işlenir, sunucularımıza asla yüklenmez.

İlgili araçlar