Kapak Fotoğrafı Ed Webster
Geçmişte Nginx’i reverse proxy olarak kullanmayı tecrübe etmiş, hatta Nginx arkasına LiteSpeed Enterprise sunucusunu yerleştirmiştim. Fakat LiteSpeed Enterprise ve OpenLiteSpeed uzun süredir bir numaralı sunucu tercihim olduğu için bugün bir başka sunucuyu OpenLiteSpeed arkasına almam gerekti ve bu işlemi yaparken LiteSpeed kullanmanın tadına bir kez daha vardım. LiteSpeed’i reverse-proxy olarak kullanmak da inanılmaz kolay.
Ben bu işlemi geliştirme ortamımda / yerelde, OpenLiteSpeed 1.7.14 sürümünde gerçekleştirdim, LiteSpeed Enteprise 6 sürümü ile de aynı şekilde çalıştığını teyit ettim.
Amacım ise 8080 portunda çalışan Go Uygulamama doğrudan 80 portundan erişebilmekti Bunun için 80 portunda çalışan OpenLiteSpeed’i reverse-proxy olarak kullanmam gerekiyordu.
Adım 1: Sunucu ayarları > Harici Uygulamalar > Web Sunucusu ekleme
- Open LiteSpeed panelindeki sol menüden Server Configuration bağlantısına tıklıyoruz.
- External App sekmesine tıklıyoruz
- Sağ taraftaki + düğmesine basarak yeni uygulama ekleme ekranını açıyoruz
- Type açılır kutusunda “Web Server” seçeneğini seçiyoruz
- Name bölümüne sunucumuz için bir isim veriyoruz
- Adres bölümüne uzak sunucunun adresini yazıyoruz, benim örneğimde localhost:8080
- Max Connections’a ben 100 yazdım, siz isteğe bağlı olarak 1 – 2000 arası bir değer girebilirsiniz
- Initial Request Timeout (secs) ben buraya 60 yazdım, siz 1’den büyük herhangi bir rakam yazabilirsiniz
- Retry Timeout (secs) ben buraya 60 yazdım, 0’dan büyük herhangi bir rakam yazabilirsiniz
Bu işlemi yaptığımızda sunucu genelinde geçerli bir harici web sunucusu tanımlamış olduk. (Bunu Vhosts özelinde de yapabiliyorsunuz
Adım 2: Vhost ekranında reverse-proxy ayarının yapılması
Şimdi eğer yoksa bir vhosts oluşturun. Vhost’un proxy’den bağımsız olarak çalışabiliyor olması lazım. Örneğin Doc. Root’u belirtilmemişse, geçersizse veya herhangi başka bir ayarı hatalıysa vhost çalışmadığı için proxy seçeneği de aktif olmuyor. İlk denememde 3-5 dakika çalışmama sebebini aramam gerekti.
Çalışır durumda bir Vhost’umuz varsa şu adımları takip ediyoruz
- Virtual host ayarlarına girin
- Context sekmesine girin
- Bu sekmede herhangi bir kayıt varsa silin
- Yeni bir kayıt oluşturmak için sağ üst köşedeki artı düğmesine basın
- Tip olarak proxy seçin ve sonraki ekrana ilerleyin.
- URI kısmına / yazarsanız kök dizin ve altındaki tüm dizinleri yölendirmiş olursunuz. Örneğin /blog yazarsanız blog dizini ve altındaki dizinleri yönlendirmiş olursunuz. ( kök dizini litespeed’le sunmaya devam ederken, /blog dizinini başka bir sunucuya veya başka bir vhost’a yönlendirmenizi sağlar)
- Web Server bölümünde önceki adımda oluşturduğunuz Web sunucusunu seçin ve ayarları kaydedin.
- Son olarak LitesSeed sunucunuzu yeniden başlatın.
Veeee bu kadar basit! Artık ilgili vhost’u localhost:8080 için reverse-proxy olarak ayarlamış olduk.
Sonuç: LiteSpeed’i seviyoruz!
Bu Yazıda Yapılan Değişiklikler
- 11.05.2022: Yazı özeti düzenlendi.
merhabalar elinize sağlık bu konuda takıldım yardımınızı almak isterim. /api/ üzerinden localhost:3005 ‘te çalışan pm2 ile ayağa kalırdığım nodejs api ‘me gelen istekleri yönlendirmek istiyorum fakat bir türlü gelen istekler locale düşmüyor. ben ilgili domain üzerinden External App tanımlamıştım ve context fakat siz genel bir external app tanımı yapmışsınız bunu da denedim fakat yine olmadı. Bunları uygulayınca vHost dosyama şu config geliyor:
context /api/ {
type proxy
handler test_node
addDefaultCharset off
}
diğer türlü ilgil domain üzerinden external app tanımlayınca da şu şekilde oluyor
extprocessor node_3005 {
type proxy
address http://127.0.0.1:3005
maxConns 2000
pcKeepAliveTimeout 3600
initTimeout 60
retryTimeout 0
respBuffer 0
}
context /api/ {
type appserver
handler node_3005
addDefaultCharset off
}
burada type alanlarını appserver ve proxy gibi değerler ile denemeler yaptım fakat yine de dışarıdan api/ url’sine attığım istekleri içeriye proxy edemedim sizin fikrinizi almak isterim. bu arada localde
curl localhost:3005/user sonuç veriyor yani api’nin çalıştığından eminim nginx sunucularında sürekli olarak yaptığım bir işlem fakat lite speed ‘de şuan yapamadım