Nasıl kullanılır
- 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.
- Gerektikçe HTTPS, HTTP/2, HSTS, www yönlendirmesi, gzip, önbellek ve güvenlik başlıklarını işaretleyin.
- 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:
-
- 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 ilehttps://example.com$request_uriadresine yönlendirir.
- port her iki adı da yanıtlar, sertifika yenileme için
www.example.comiçin 443. port aynı sertifikayı kullanır ve çıplak alan adına 301 döndürür.example.comiç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.