[{"data":1,"prerenderedAt":577},["ShallowReactive",2],{"post-\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak":3},{"page":4,"translation":407,"nav":426,"related":553,"random":568},{"id":5,"title":6,"body":7,"categories":405,"category":407,"date":408,"description":409,"draft":410,"extension":411,"image":412,"kind":407,"lang":269,"meta":413,"navigation":414,"path":415,"readingTime":416,"seo":417,"slug":418,"stem":419,"tags":420,"translationKey":407,"type":406,"updated":424,"__hash__":425},"postsTr\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak.md","OpenLiteSpeed ve LiteSpeed Enterprise Sunucularını Reverse Proxy Olarak Kullanmak",{"type":8,"value":9,"toc":395},"minimark",[10,90,93,96,99,102,107,178,181,183,187,193,196,246,252,255,257,262,332,334,338,341,348,351,377,380,382,387],[11,12,13,21],"blockquote",{},[14,15,16,17],"p",{},"💡 ",[18,19,20],"strong",{},"Özet (TL;DR):",[22,23,24,31,74,84],"ul",{},[25,26,27,30],"li",{},[18,28,29],{},"Amaç:"," 8080 gibi farklı bir portta çalışan bir uygulamayı (örneğin Go, Node.js veya Python uygulaması), 80\u002F443 portunda hizmet veren OpenLiteSpeed veya LiteSpeed Enterprise web sunucusu arkasında çalıştırmak (Reverse Proxy).",[25,32,33,36],{},[18,34,35],{},"Adımlar:",[37,38,39,59],"ol",{},[25,40,41,42,46,47,50,51,54,55,58],{},"Sunucu yapılandırmasında (",[43,44,45],"code",{},"Server Configuration",") harici uygulama (",[43,48,49],{},"External App",") olarak bir ",[18,52,53],{},"Web Server"," tanımlanır ve uygulamanın çalıştığı port (örneğin ",[43,56,57],{},"localhost:8080",") girilir.",[25,60,61,62,65,66,69,70,73],{},"Virtual Host (Vhost) ayarlarında ",[43,63,64],{},"Context"," sekmesine girilerek tipi ",[18,67,68],{},"Proxy"," olan yeni bir kayıt eklenir ve URI yönlendirmesi (örneğin ",[43,71,72],{},"\u002F",") tanımlanır.",[25,75,76,79,80,83],{},[18,77,78],{},"Kritik Detay:"," Proxy'nin çalışabilmesi için ilgili Virtual Host'un root dizininin (",[43,81,82],{},"Doc Root",") tanımlı ve geçerli olması, Vhost'un sorunsuz çalışıyor olması gerekir.",[25,85,86],{},[87,88,89],"em",{},"Not: Günümüzde dinamik mikroservis\u002Fkonteyner yapılandırmaları için Traefik gibi çözümler popüler olsa da, LiteSpeed\u002FOpenLiteSpeed kurulu geleneksel sunucularda bu yöntem geçerliliğini korumaktadır.",[14,91,92],{},"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 kolaydır.",[14,94,95],{},"Ben bu işlemi geliştirme ortamımda \u002F yerelde, OpenLiteSpeed 1.7.14 sürümünde gerçekleştirdim; LiteSpeed Enterprise 6 sürümü ile de aynı şekilde çalıştığını teyit ettim.",[14,97,98],{},"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.",[100,101],"hr",{},[103,104,106],"h2",{"id":105},"adım-1-sunucu-ayarları-harici-uygulamalar-web-sunucusu-ekleme","Adım 1: Sunucu Ayarları > Harici Uygulamalar > Web Sunucusu Ekleme",[37,108,109,115,120,127,136,142,151,161,170],{},[25,110,111,112,114],{},"OpenLiteSpeed panelindeki sol menüden ",[18,113,45],{}," bağlantısına tıklıyoruz.",[25,116,117,119],{},[18,118,49],{}," sekmesine tıklıyoruz.",[25,121,122,123,126],{},"Sağ taraftaki ",[18,124,125],{},"+"," düğmesine basarak yeni uygulama ekleme ekranını açıyoruz.",[25,128,129,132,133,135],{},[18,130,131],{},"Type"," açılır kutusunda ",[18,134,53],{}," seçeneğini seçiyoruz.",[25,137,138,141],{},[18,139,140],{},"Name"," bölümüne sunucumuz için bir isim veriyoruz.",[25,143,144,147,148,150],{},[18,145,146],{},"Address"," bölümüne uzak sunucunun adresini yazıyoruz (benim örneğimde ",[43,149,57],{},").",[25,152,153,156,157,160],{},[18,154,155],{},"Max Connections"," alanına ben ",[43,158,159],{},"100"," yazdım; siz isteğe bağlı olarak 1 - 2000 arası bir değer girebilirsiniz.",[25,162,163,156,166,169],{},[18,164,165],{},"Initial Request Timeout (secs)",[43,167,168],{},"60"," yazdım; siz 1'den büyük herhangi bir rakam yazabilirsiniz.",[25,171,172,156,175,177],{},[18,173,174],{},"Retry Timeout (secs)",[43,176,168],{}," yazdım; 0'dan büyük herhangi bir rakam yazabilirsiniz.",[14,179,180],{},"Bu işlemi yaptığımızda sunucu genelinde geçerli bir harici web sunucusu tanımlamış olduk. (Bunu Virtual Host özelinde de yapabilirsiniz).",[100,182],{},[103,184,186],{"id":185},"adım-2-vhost-ekranında-reverse-proxy-ayarının-yapılması","Adım 2: Vhost Ekranında Reverse Proxy Ayarının Yapılması",[14,188,189,190,192],{},"Şimdi eğer yoksa bir Virtual Host (Vhost) oluşturun. Vhost'un proxy'den bağımsız olarak çalışabiliyor olması gerekir. Örneğin ",[43,191,82],{}," 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 nedenini aramak zorunda kaldım.",[14,194,195],{},"Çalışır durumda bir Vhost'umuz varsa şu adımları takip ediyoruz:",[37,197,198,201,206,209,216,222,238,243],{},[25,199,200],{},"Virtual Host ayarlarına girin.",[25,202,203,205],{},[18,204,64],{}," sekmesine girin.",[25,207,208],{},"Bu sekmede herhangi bir kayıt varsa silin.",[25,210,211,212,215],{},"Yeni bir kayıt oluşturmak için sağ üst köşedeki artı ",[18,213,214],{},"(+)"," düğmesine basın.",[25,217,218,219,221],{},"Tip olarak ",[18,220,68],{}," seçin ve sonraki ekrana ilerleyin.",[25,223,224,227,228,230,231,234,235,237],{},[18,225,226],{},"URI"," kısmına ",[43,229,72],{}," yazarsanız kök dizin ve altındaki tüm dizinleri yönlendirmiş olursunuz. Örneğin ",[43,232,233],{},"\u002Fblog"," yazarsanız blog dizini ve altındaki dizinleri yönlendirmiş olursunuz (kök dizini LiteSpeed ile sunmaya devam ederken, ",[43,236,233],{}," dizinini başka bir sunucuya veya başka bir Vhost'a yönlendirmenizi sağlar).",[25,239,240,242],{},[18,241,53],{}," bölümünde önceki adımda oluşturduğunuz Web sunucusunu seçin ve ayarları kaydedin.",[25,244,245],{},"Son olarak LiteSpeed sunucunuzu yeniden başlatın.",[14,247,248,249,251],{},"Veeee bu kadar basit! Artık ilgili Virtual Host'u ",[43,250,57],{}," için reverse proxy olarak ayarlamış olduk.",[14,253,254],{},"Sonuç: LiteSpeed'i seviyoruz!",[100,256],{},[258,259,261],"h3",{"id":260},"nginx-ve-litespeed-reverse-proxy-karşılaştırması","Nginx ve LiteSpeed Reverse Proxy Karşılaştırması",[263,264,265,282],"table",{},[266,267,268],"thead",{},[269,270,271,276,279],"tr",{},[272,273,275],"th",{"align":274},"left","Özellik",[272,277,278],{"align":274},"Nginx",[272,280,281],{"align":274},"OpenLiteSpeed \u002F LiteSpeed Enterprise",[283,284,285,303,319],"tbody",{},[269,286,287,293,300],{},[288,289,290],"td",{"align":274},[18,291,292],{},"Yapılandırma Yöntemi",[288,294,295,296,299],{"align":274},"Konfigürasyon dosyaları üzerinden (",[43,297,298],{},"nginx.conf",") manuel yazılır.",[288,301,302],{"align":274},"WebAdmin konsolu (GUI) üzerinden görsel arayüzle kolayca yapılır.",[269,304,305,310,316],{},[288,306,307],{"align":274},[18,308,309],{},"Dinamik Yeniden Başlatma",[288,311,312,315],{"align":274},[43,313,314],{},"systemctl reload nginx"," komutuyla yapılır.",[288,317,318],{"align":274},"Arayüz üzerinden tek tıkla \"Graceful Restart\" ile yapılır.",[269,320,321,326,329],{},[288,322,323],{"align":274},[18,324,325],{},"Performans (Statik + Dinamik)",[288,327,328],{"align":274},"Yüksek performanslıdır, hafif ve hızlıdır.",[288,330,331],{"align":274},"LSCache entegrasyonu sayesinde özellikle dinamik içeriklerde çok hızlıdır.",[100,333],{},[103,335,337],{"id":336},"güncel-alternatifler-ve-traefik-geçişi","Güncel Alternatifler ve Traefik Geçişi",[14,339,340],{},"Yazıyı kaleme aldığım dönemde OpenLiteSpeed ve LiteSpeed Enterprise sunucuları projelerimin vazgeçilmez birer parçasıydı. Ancak teknoloji ve mimariler hızla evriliyor.",[14,342,343,344,347],{},"Günümüz itibarıyla (özellikle Docker, Kubernetes ve mikroservis odaklı modern stack'lerimde) reverse proxy olarak artık ",[18,345,346],{},"Traefik"," kullanmayı tercih ediyorum. Traefik, özellikle konteyner tabanlı altyapılarda servisleri otomatik olarak keşfedebilmesi (auto-discovery) ve dinamik yapılandırma yeteneği sayesinde modern projelerde işleri inanılmaz derecede kolaylaştırıyor.",[14,349,350],{},"Eğer benzer bir arayış içindeyseniz, LiteSpeed dışında değerlendirebileceğiniz diğer popüler reverse proxy alternatifleri şunlardır:",[22,352,353,359,365,371],{},[25,354,355,358],{},[18,356,357],{},"Traefik:"," Konteyner dostu, dinamik yönlendirme ve otomatik SSL (Let's Encrypt) yönetimi sunan modern proxy.",[25,360,361,364],{},[18,362,363],{},"Caddy:"," Konfigürasyonu son derece basit, varsayılan olarak HTTPS\u002FSSL entegrasyonu ile gelen Go tabanlı modern web sunucusu.",[25,366,367,370],{},[18,368,369],{},"HAProxy:"," Özellikle yüksek trafikli yük dengeleme (load balancing) ve TCP\u002FHTTP proxy ihtiyaçları için endüstri standardı olan son derece hızlı bir araç.",[25,372,373,376],{},[18,374,375],{},"Nginx:"," Geleneksel ve kararlı yapısıyla hâlâ en yaygın kullanılan reverse proxy çözümü.",[14,378,379],{},"Yine de geleneksel sunucu kurulumlarında ve LiteSpeed ekosisteminde kalmak istediğiniz senaryolarda, yukarıda anlattığım WebAdmin üzerinden proxy kurma yöntemi en pratik referanslardan biri olarak geçerliliğini koruyor.",[100,381],{},[383,384,386],"h5",{"id":385},"bu-yazıda-yapılan-değişiklikler","Bu Yazıda Yapılan Değişiklikler",[22,388,389,392],{},[25,390,391],{},"11.05.2022: Yazı özeti düzenlendi.",[25,393,394],{},"20.06.2026: Sunucu isimleri ve terimler standartlaştırıldı, imla düzeltmeleri yapıldı, TL;DR özet, karşılaştırma tablosu ve modern alternatifler (Traefik vb.) eklendi.",{"title":396,"searchDepth":397,"depth":397,"links":398},"",2,[399,400,404],{"id":105,"depth":397,"text":106},{"id":185,"depth":397,"text":186,"children":401},[402],{"id":260,"depth":403,"text":261},3,{"id":336,"depth":397,"text":337},[406],"technical",null,"2021-10-02","OpenLiteSpeed ve LiteSpeed Enterprise üzerinde harici uygulamalar (Go, Node.js vb.) için WebAdmin konsolu üzerinden adım adım Reverse Proxy yapılandırması.",false,"md","\u002Fimages\u002Fhero\u002Freverse-proxy.avif",{},true,"\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak",4,{"title":6,"description":409},"openlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak","tr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak",[421,422,423],"go","litespeed","reverse-proxy","2022-05-11","_0e5EP1tBMJOI_kJJ_O6TWvHS9ByrK4qjw49Z2cypyE",{"prev":427,"next":430,"others":433,"lucky":552,"readingTime":416},{"path":428,"title":429},"\u002Ftr\u002Fiterator-tasarim-deseni-nedir","Iterator Tasarım Deseni Nedir?",{"path":431,"title":432},"\u002Ftr\u002Fchain-of-responsibility-deseni-nedir","Chain of Responsibility Deseni Nedir?",[434,437,440,443,446,449,452,455,458,461,464,467,470,473,476,479,482,485,486,489,492,495,498,501,504,507,510,513,516,519,522,525,528,531,534,537,540,543,546,549],{"path":435,"title":436},"\u002Ftr\u002Frest-api-kimlik-dogrulama-nasil-yapilir","REST API Kimlik Doğrulama Nasıl Yapılır?",{"path":438,"title":439},"\u002Ftr\u002Fvite-nedir","Vite Nedir? Modern Web Geliştirme ve Paketleme Aracı",{"path":441,"title":442},"\u002Ftr\u002Fes13-nedir-ecmascript-2022-nedir","ES13 nedir? ECMAScript 2022 nedir?",{"path":444,"title":445},"\u002Ftr\u002Fes10-nedir-ecmascript-2019-nedir","ES10 Nedir? ECMAScript 2019 Nedir?",{"path":447,"title":448},"\u002Ftr\u002Ffacade-tasarim-deseni-nedir","Facade Tasarım Deseni Nedir?",{"path":450,"title":451},"\u002Ftr\u002Fgo-veri-tipleri-string-integer-float-complex-boolean-ve-array","Go Veri Tipleri - String, Integer, Float, Complex, Boolean ve Array",{"path":453,"title":454},"\u002Ftr\u002Fgo-programlama-dilinin-ozellikleri","Go Programlama Dilinin Özellikleri",{"path":456,"title":457},"\u002Ftr\u002Fbridge-tasarim-deseni-nedir","Bridge Tasarım Deseni Nedir?",{"path":459,"title":460},"\u002Ftr\u002Fes14-nedir-ecmascript-2023-nedir","ES14 nedir? ECMAScript 2023 nedir?",{"path":462,"title":463},"\u002Ftr\u002Fmemento-tasarim-deseni-nedir","Memento Tasarım Deseni Nedir?",{"path":465,"title":466},"\u002Ftr\u002Fes15-nedir-ecmascript-2024-nedir","ES15 nedir? ECMAScript 2024 nedir?",{"path":468,"title":469},"\u002Ftr\u002Fcomposite-tasarim-deseni-nedir","Composite Tasarım Deseni Nedir?",{"path":471,"title":472},"\u002Ftr\u002Fes7-nedir-ecmascript-2016-nedir","ES7 Nedir? ECMAScript 2016 Nedir?",{"path":474,"title":475},"\u002Ftr\u002Ftailwind-css-nerede-kullanilir-tailwind-css-nerede-kullanilmaz","Tailwind CSS Nerede Kullanılır? Tailwind CSS Nerede Kullanılmaz?",{"path":477,"title":478},"\u002Ftr\u002Fstrategy-tasarim-deseni-nedir","Strategy Tasarım Deseni Nedir?",{"path":480,"title":481},"\u002Ftr\u002Fcommand-tasarim-deseni-nedir","Command Tasarım Deseni Nedir?",{"path":483,"title":484},"\u002Ftr\u002Fflyweight-tasarim-deseni-nedir","Flyweight Tasarım Deseni Nedir?",{"path":428,"title":429},{"path":487,"title":488},"\u002Ftr\u002Ftemplate-method-tasarim-deseni-nedir","Template Method Tasarım Deseni Nedir?",{"path":490,"title":491},"\u002Ftr\u002Fes16-nedir-ecmascript-2025-nedir","ES16 nedir? ECMAScript 2025 nedir?",{"path":493,"title":494},"\u002Ftr\u002Fgo-veri-tipleri-map","Go Veri Tipleri - Map",{"path":496,"title":497},"\u002Ftr\u002Fecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler","ECMAScript Nedir? Bilinmesi Gerekenler...",{"path":499,"title":500},"\u002Ftr\u002Fgarbage-collection-ve-golang","Garbage Collection ve Go (Golang)",{"path":502,"title":503},"\u002Ftr\u002Fdocker-ve-portainer-kurulumu","Docker ve Portainer Kurulumu",{"path":505,"title":506},"\u002Ftr\u002Fmerhaba-gluster","Merhaba Gluster: Dağıtık Dosya Sistemi Nedir?",{"path":508,"title":509},"\u002Ftr\u002Fmutable-ve-immutable-kavrami","Mutable ve Immutable Kavramları Nedir?",{"path":511,"title":512},"\u002Ftr\u002Fdocker-ile-redis-kurulumu","Docker ile Redis Kurulumu",{"path":514,"title":515},"\u002Ftr\u002Frestful-api-bilesenleri","RESTful API Bileşenleri",{"path":517,"title":518},"\u002Ftr\u002Frest-api-guvenligi-nasil-saglanir","REST Api Güvenliği Nasıl Sağlanır?",{"path":520,"title":521},"\u002Ftr\u002Fwindows-10-golang-kurulumu","Windows 10 ve 11'de Golang Kurulumu ve GOPATH Yapılandırması",{"path":523,"title":524},"\u002Ftr\u002Fubuntu-20-04-composer-kurulumu","Ubuntu 20.04 - Composer Kurulumu",{"path":526,"title":527},"\u002Ftr\u002Fself-hosted-api-gateway-nasil-kurulur-kapsamli-rehber","Self-Hosted API Gateway Nasıl Kurulur? Kapsamlı Rehber",{"path":529,"title":530},"\u002Ftr\u002Fnostalji-ibibik-online","Nostalji: İbibik Online (1998'den Bir Web Macerası)",{"path":532,"title":533},"\u002Ftr\u002Fstate-tasarim-deseni-nedir","State Tasarım Deseni Nedir?",{"path":535,"title":536},"\u002Ftr\u002Fdecorator-tasarim-deseni-nedir","Decorator Tasarım Deseni Nedir?",{"path":538,"title":539},"\u002Ftr\u002Fmediator-tasarim-deseni-nedir","Mediator Tasarım Deseni Nedir?",{"path":541,"title":542},"\u002Ftr\u002Fsingleton-tasarim-deseni-nedir","Singleton Tasarım Deseni Nedir?",{"path":544,"title":545},"\u002Ftr\u002Frest-api-dokumantasyonu-nasil-yapilir","REST Api Dokümantasyonu Nasıl Oluşturulur?",{"path":547,"title":548},"\u002Ftr\u002Fgo-ve-degiskenler","Go ve Değişkenler",{"path":550,"title":551},"\u002Ftr\u002Fapi-gateway-nedir","API Gateway Nedir? Ne İşe Yarar?",{"path":511,"title":512},[554,558,562,564],{"path":555,"title":556,"date":557},"\u002Ftr\u002Fubuntu-24-04-uzerinde-cyberpanel-kurulumu","Ubuntu 24.04 LTS ve 22.04 LTS Üzerinde CyberPanel Kurulumu","2026-06-20",{"path":559,"title":560,"date":561},"\u002Ftr\u002Fgo-veri-tipleri-struct","Go Veri Tipleri: Struct","2021-10-14",{"path":493,"title":494,"date":563},"2021-10-13",{"path":565,"title":566,"date":567},"\u002Ftr\u002Fgo-slice-veri-tipi","Go Veri Tipleri: Slice","2021-10-10",[569,571,575],{"path":547,"title":548,"date":570},"2021-10-04",{"path":572,"title":573,"date":574},"\u002Ftr\u002Fbuilder-tasarim-deseni-nedir","Builder Tasarım Deseni Nedir?","2021-08-03",{"path":483,"title":484,"date":576},"2021-09-14",1782142006347]