İçeriğe geç
0850 554 5439 [email protected]

Size nasıl yardımcı olabiliriz?

Rehberlerimizde ve eğitimlerimizde arama yapın ya da aşağıdaki kategorilere göz atın.

Yük dengeleyicide sağlık kontrolü, ücretsiz SSL, HTTPS yönlendirme ve gerçek ziyaretçi IP'si

Gyro Bulut 66 görüntülenme Kullanım rehberi Son doğrulama: Markdown
Bu rehberde ne öğreneceksinizSağlık kontrolü ayarlarını uygulamanıza göre yapmayı, ücretsiz Let's Encrypt sertifikası almayı ve otomatik yenilenmesini sağlamayı, kendi sertifikanızı yüklemeyi, HTTP'yi HTTPS'e yönlendirmeyi, oturum yapışkanlığını ve uygulamanızda ziyaretçinin gerçek IP adresini görmeyi.
Süre20 dakika
Kimin içinGyro Bulut Yük Dengeleyici kullanan sistem yöneticileri ve geliştiriciler.
GerekenlerÇalışan bir yük dengeleyici, en az bir HTTP servisi ve hedefler (ilk kurulum); alan adınızın DNS paneline erişim; hedef sunucularda web sunucusu yapılandırmasını düzenleme yetkisi.

1. Servisler ekranı

Yönetim → Servisler her servisin protokolünü, portlarını, sağlık kontrolü özetini ve seçeneklerini gösterir. Bir servisi kalem simgesiyle düzenler, çöp kutusuyla silersiniz.

Servisler: HTTPS servisinde TLS yük dengeleyicide sonlanır ve hedeflere HTTP gider; TCP servisi şifreli trafiği olduğu gibi geçirir.
Protokol Ne olur Ne zaman
HTTP Yük dengeleyici HTTP isteğini okur ve hedefe iletir Düz HTTP siteleri; oturum yapışkanlığı gerekiyorsa
HTTPS TLS yük dengeleyicide sonlanır, hedeflere HTTP gider Sertifikayı tek yerde yönetmek için (önerilen)
TCP Bağlantı olduğu gibi aktarılır Web dışı servisler ya da şifreli geçiş (TCP 443 → 443, sertifika sunucularda kalır)

2. Sağlık kontrolünü ayarlayın

Sağlık kontrolü, hangi hedefin trafik alacağına karar verir. Servisi düzenleyip Sağlık kontrolü bölümündeki alanları uygulamanıza göre ayarlayın:

Alan Anlamı Varsayılan Sınır
Kontrol türü HTTP (yanıt kodu) ya da TCP (yalnız bağlantı) HTTP
Kontrol portu Hedefte kontrol edilen port Hedef port 1-65535
Aralık (sn) İki kontrol arası süre 15 3-60
Zaman aşımı (sn) Yanıt için beklenen en uzun süre 10 Aralıktan küçük
Deneme Hedef "sorunlu" sayılmadan önceki başarısız deneme sayısı 3 0-5
Yol HTTP kontrolünde istenen adres / / ile başlamalı
Host başlığı (isteğe bağlı) Hedefte birden çok site varsa hangi sitenin kontrol edileceği boş
Kabul edilen kodlar Başarılı sayılan yanıt kodları 2??,3?? 200, 2??, 3?? biçimi
Kontrolü HTTPS ile yap Hedef yalnız HTTPS konuşuyorsa kapalı
  1. Uygulamanızda hafif bir sağlık yolu oluşturun (ör. /saglik): veritabanına basit bir sorgu atıp 200 döndürsün.
  2. Yol alanına bu yolu yazın.
  3. Uygulama girişe yönlendiriyorsa (302) ve bunu arıza saymak istiyorsanız Kabul edilen kodlar'ı 2?? yapın.
  4. Kaydet'e basın ve Hedef Sunucular'da durumların sağlıklı olduğunu kontrol edin.
Bilgi

Hedef sunucuların güvenlik duvarında kontrol portu yük dengeleyiciye açık olmalıdır. Kontrol isteği yük dengeleyicinin IP'sinden (özel ağ kullanıyorsanız özel IP'sinden) gelir.

3. Ücretsiz Let's Encrypt sertifikası alın

Sertifikayı yük dengeleyici adına biz alırız ve bitişine 30 gün kala kendiliğinden yenileriz. Doğrulama HTTP üzerinden yapılır, bu yüzden hedef sunucularınızda tek seferlik bir yönlendirme gerekir.

Ön koşullar:

  • Sertifika alacağınız her alan adının A kaydı yük dengeleyicinin IPv4 adresini göstermelidir.
  • Yük dengeleyicide 80 portunda bir HTTP servisi olmalıdır (doğrulama isteği bu porttan hedeflere ulaşır).
  • Joker (*.ornekfirma.com) sertifika desteklenmez; bir sertifikada en çok 10 alan adı olur.

Adımlar:

  1. Yönetim → SSL Sertifikaları'nı açın ve Ücretsiz sertifika al (Let's Encrypt)'e basın.
  2. Alan adları (virgülle, en çok 10) alanına alan adlarını yazın: ornekfirma.com, www.ornekfirma.com.
  3. Penceredeki Ücretsiz sertifika al (Let's Encrypt) düğmesine basın.
Let's Encrypt: alan adlarını virgülle yazın; hepsinin A kaydı yük dengeleyicinin IP'sini göstermelidir.
  1. İlk seferde ekranda Sertifika doğrulaması bekliyor paneli çıkar. Paneldeki yönlendirme satırını her hedef sunucunun web sunucusu yapılandırmasına ekleyin (aşağıdaki örnekler; paneldeki adresi kopyalayın).
  2. Web sunucusunu yeniden yükleyin ve panelde Doğrula'ya basın. Sertifika birkaç saniyede alınır ve listede Let's Encrypt · otomatik yenilenir olarak görünür.

Nginx (sunucu bloğunun içine):

nginx
location ~ ^/\.well-known/acme-challenge/([A-Za-z0-9_-]+)$ {
    return 301 https://www.gyrohosting.com/.well-known/gyro-lb-acme/$1;
}

Apache (.htaccess ya da sanal sunucu yapılandırması):

apache
RewriteEngine On
RewriteRule ^\.well-known/acme-challenge/([A-Za-z0-9_-]+)$ https://www.gyrohosting.com/.well-known/gyro-lb-acme/$1 [R=301,L]

Caddy:

text
redir /.well-known/acme-challenge/* https://www.gyrohosting.com/.well-known/gyro-lb-acme/{path.2} 301
Dikkat

Bu yönlendirmeyi kaldırmayın. Sertifika her yenilemede aynı yoldan doğrulanır; yönlendirme kaldırılırsa otomatik yenileme olmaz ve sertifika süresi dolunca siteniz HTTPS'te hata verir.

SSL Sertifikaları: Let's Encrypt sertifikaları otomatik yenilenir; yüklediğiniz sertifikaları siz yenilersiniz.

Let's Encrypt isteği hizmet başına günde 8 kez yapılabilir. Bekleyen bir isteği Vazgeç ile iptal edebilirsiniz; uzun süre beklenen istek kendiliğinden düşer ve yeniden başlatmanız gerekir.

4. Kendi sertifikanızı yükleyin

Ticari ya da kurum sertifikanız varsa Sertifika yükle'ye basın:

  • Sertifika + zincir (PEM): önce sunucu sertifikası, ardından ara sertifikalar, aynı kutuda.
  • Özel anahtar (PEM, şifresiz): parola korumalı anahtar kabul edilmez; gerekirse openssl pkey -in sifreli.key -out sifresiz.key ile parolasını kaldırın.

Süresi dolmuş sertifika ya da sertifikayla eşleşmeyen anahtar reddedilir. Özel anahtar yalnız yük dengeleyiciye iletilir, bizde saklanmaz. Yüklediğiniz sertifikaların yenilenmesi sizdedir: süre dolmadan yenisini yükleyip HTTPS servisinde seçin, eskisini silin.

5. HTTPS servisi ve HTTP'den HTTPS'e yönlendirme

  1. Servis ekle'ye basın: Protokol HTTPS, Gelen port 443, Hedef port 80 (hedefler düz HTTP konuşur).
  2. Sertifikalar (HTTPS) listesinden sertifikanızı seçin ve Kaydet'e basın.
  3. Tarayıcıdan https://ornekfirma.com adresini açıp deneyin.
  4. Tüm ziyaretçileri HTTPS'e almak için önce 80 portundaki HTTP servisini silin, sonra HTTPS servisini düzenleyip HTTP isteklerini HTTPS'e yönlendir'i açın ve kaydedin. Yük dengeleyici 80 portuna gelen her isteği 301 ile HTTPS'e yönlendirir.
Bilgi

Yönlendirme 80 portunu kendisi kullandığı için 80'de başka servis varken açılamaz ("önce 80 portundaki servisi silin" uyarısı). Let's Encrypt yenilemesi yönlendirme açıkken de çalışır: doğrulama isteği önce HTTPS'e, oradan hedeflerinizdeki yönlendirmeye gider. İlk sertifikayı ise 80 portunda HTTP servisi varken alın (Bölüm 3).

Uygulamanız isteğin HTTPS olduğunu bilmek için X-Forwarded-Proto: https başlığına bakmalıdır (Bölüm 7). Aksi halde bazı uygulamalar (ör. WordPress) sonsuz yönlendirme döngüsüne girer.

6. Oturum yapışkanlığı

Uygulamanız oturumu sunucunun diskinde ya da belleğinde tutuyorsa (paylaşılan oturum deposu yoksa) ziyaretçi her istekte farklı sunucuya düşüp oturumu kaybedebilir. HTTP ve HTTPS servislerinde Oturum yapışkanlığı'nı açın:

Alan Varsayılan Anlamı
Çerez adı GYROLB Yük dengeleyicinin ziyaretçiyi hangi sunucuya bağladığını tuttuğu çerez
Çerez süresi (sn) 300 Ziyaretçi bu süre boyunca aynı sunucuya gider
Boşta zaman aşımı (sn) 50 Etkinlik olmayan bağlantının kapatılacağı süre

Kalıcı çözüm, oturumları ortak bir depoda (Redis, veritabanı) tutmaktır; böylece hangi sunucu yanıt verirse versin oturum korunur.

7. Gerçek ziyaretçi IP'si

Yük dengeleyici arkasında sunucunuz bağlantıyı yük dengeleyicinin IP'sinden gelmiş gibi görür. Ziyaretçinin gerçek IP'sini almanın yolu protokole göre değişir.

HTTP ve HTTPS servisleri: yük dengeleyici her isteğe şu başlıkları ekler:

Başlık Değer
X-Forwarded-For Ziyaretçinin IP adresi
X-Forwarded-Proto http ya da https
X-Forwarded-Port Ziyaretçinin bağlandığı port

Web sunucunuza bu başlığa yalnız yük dengeleyiciden geldiğinde güvenmesini söyleyin (203.0.113.30 yerine yük dengeleyicinizin IPv4 adresini, özel ağ kullanıyorsanız özel IP'sini yazın):

nginx
# Nginx (http bloğu)
set_real_ip_from 203.0.113.30;
real_ip_header X-Forwarded-For;
apache
# Apache (mod_remoteip)
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 203.0.113.30

TCP servisleri: başlık eklenemez. Servisi düzenleyip Proxy protocol'ü açın; yük dengeleyici her bağlantının başına ziyaretçi IP'sini içeren PROXY protocol satırı ekler. Hedefteki yazılım bunu desteklemeli ve açıkça etkinleştirilmelidir:

nginx
# Nginx (stream ya da http bloğunda dinleme)
listen 443 ssl proxy_protocol;
set_real_ip_from 203.0.113.30;
real_ip_header proxy_protocol;
Dikkat

Proxy protocol'ü yalnız hedef yazılımınız da açıkken etkinleştirin. Bir taraf açık, diğeri kapalıysa bağlantılar bozulur ve hedefler sorunlu görünür.

8. Sık sorulan sorular

Let's Encrypt neden "Şu alan adları yük dengeleyiciye yönlenmiyor" diyor?

Alan adının A kaydı yük dengeleyicinin IPv4 adresini göstermiyor ya da değişiklik henüz yayılmadı. DNS'i düzeltip birkaç dakika sonra tekrar deneyin.

"Doğrulama adresine ulaşılamadı" uyarısı ne anlama gelir?

Hedef sunuculardaki yönlendirme eksik, yanlış yolda ya da web sunucusu yeniden yüklenmedi. Tarayıcıdan http://ornekfirma.com/.well-known/acme-challenge/deneme adresini açın: www.gyrohosting.com/.well-known/gyro-lb-acme/deneme adresine 301 ile yönlenmelisiniz. Yük dengeleyicide 80 portunda servis olduğunu da kontrol edin.

Sertifika birden çok servise takılabilir mi?

Evet. Bir HTTPS servisinde birden çok sertifika seçebilirsiniz (farklı alan adları için). Serviste kullanılan bir sertifikayı silmek için önce servisten çıkarın.

Hedef sunucularda da sertifika kurmam gerekir mi?

HTTPS servisinde hayır: TLS yük dengeleyicide sonlanır ve hedeflere HTTP gider. Hedeflere kadar şifreleme istiyorsanız TCP 443 → 443 kullanın ve sertifikayı sunucularda yönetin.

Sağlık kontrolü hedefimi neden sürekli "sorunlu" gösteriyor?

Sebepler ve kontrol listesi: Yük dengeleyici sorun giderme.

Biliyor muydunuz?

Alan adınızın DNS'i Gyro DNS'teyse yük dengeleyicinin IP'sini Terraform'da gyro_dns_record kaynağıyla doğrudan A kaydına yazabilirsiniz: Gyro DNS'i API, CLI ve Terraform ile yönetin.

Sıradaki adım

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.