LiteSpeed İçin Proxy Yapılandırması ve Golang Projesini Domain İle Yayınlamak

Ömer Burak Demirpolat
3 min readOct 27, 2019

--

Merhabalar kimsenin ilgi duymayacağı bir yazı daha :D

Bu yazıyı neden yazıyorum, Golang projemi sunucumun 8992 portunda yayınladım fakat projem ilk başta tabiki IP adresi üzerinden çalışıyor. Yani http://123.456.789.012:8992 üzerinden projeme ulaşıyorum bunu domainime bağlamam gerekiyordu. Projede HTTP ve Web Socket kullanıyorum yani 2 adet proxy gerekecek. Sunucumda ücretsiz olan CyberPanel kullanıyorum. CyberPanel web sunucusu olarak OpenLiteSpeed kullanıyor, ilk başta proxy yapılandırması için bir yazı, yönlendirme bulamadım, sonrasında Erhan Yakut abimizin Twitter’da bir paylaşımı ve paylaşıma LiteSpeed’in yanıtı üzerine doğru kaynağa eriştim ve yapılandırmamı tamamladım.

Şimdi ilk sorunumuz CyberPanel’in firewall’ı. CyberPanel firewall’ı sunucuda bazı portları kapatıyor ve sadece default olarak tanımlanmış portlara public erişime izin veriyor. Yani siz CyberPanel kurulmuş olan bir sunucuda Golang projenizi yayınladığınız diyelim bu projenize sadece localden erişim sağlayabilirsiniz. Kısacası sunucunuza SSH ile bağlanıp şu komut ile yanıt alabilirsiniz.

curl http://123.456.789.012:8992

Fakat sunucu harici bir bilgisayardan tarayıcıya girip http://123.456.789.012:8992 adresine gittiğinizde yanıt alamazsınız çünkü portunuz sadece 127.0.0.1'den yani localhost’dan gelen istekleri kabul eder.

Kullanmak istediğiniz portu manuel olarak açmak gerekiyor.

Burada öncelikle LiteSpeed’in çalıştığı port olan 7080'e ve Golang projemin çalıştığı port olan 8992'ye izin vericez veya güvenlik duvarını pasif hale getiricez. Bu işlem için CyberPanel üzerinden Güvenlik/Security sekmesinden Güvelik Duvarı/Firewall alanına giriş yapıyoruz.

Güvenlik Duvarı/Firewall’ı pasif edebilirsiniz zaten kocaman bir buton sizi karşılayacak.

Golang projemizin ve LiteSpeed projemizin portlarına izin vermek için aşağıdaki gibi 2 adet kural tanımlamak gerekiyor. Aşağıdaki görsellere istinaden 8992 portu bizim Golang projemiz için belirlediğimiz port yani projenize göre değişebilir fakat 7080 portu sabit LiteSpeed’in sunulduğu port.

Artık LiteSpeed’de http://123.456.789.012:7080 adresine giderek ulaşabiliriz.

LiteSpeed’in default kullanıcı adı ve şifresi ise aşağıdaki gibidir

admin
123456

LiteSpeed’e giriş yaptıktan sonra Virtual Hosts sekmesine gidiyoruz, buradan hangi domain üzerinde işlem yapacaksak üzerine tıklıyoruz ve Externel App kısmına gidiyoruz. Sağ tarafta yer alan + butonuna tıklıyoruz.

Tip olarak Web Server seçerek devam ediyoruz.

Name kısmında tercih ettiğiniz bir ismi kullanabilirsiniz.

Address kısmında bu domaine gelen istekleri hangi adrese yönlendireceğimizi belirtiyoruz. Ben burakdemirpolat.site adresini http://123.456.789.012:8992 adresine yönlendireceğim için bu alana http://123.456.789.012:8992 yazıyorum.

Max Connections kısmında aynı anda kaç adet bağlantı kabul edeceğimizi belirtiyoruz, bu alana maksimum değer olan 2000'i yazıyorum.

Initial Request Timeout kısmına saniye cinsinden Golang projemizden en fazla ne kadar sürede yanıt vermesini beklediğimizi yazıyoruz 60 saniye.

Kaydettikten sonra Context kısmına geçiyoruz ve burada da + butonuna basıyoruz.

Bu alanda burakdemirpolat.site adresinde hangi dizine gelen istekleri yönlendireceğimizi URl kısmında belirtiyoruz. Ben burakdemirpolat.site adresine gelen tüm istekleri az önce External App kısmında açtığım web sunucusuna yani http://123.456.789.012:8992 yönlendireceğim için bu alana “/” olarak değer giriyorum.

Web Server seçeceğinde ise az önce oluşturduğum ve Name kısmında ismini belirttiğim web sunucusunu seçiyorum.

İşlem tamam artık burakdemirpolat.site adresine gittiğimde LiteSpeed http://123.456.789.012:8992 adresine proxy’leyecek, yönlendirecek.

Web siteme başarılı şekilde ulaşabiliyorum, sorun yok. Fakat ufak bir sorun var ben sadece HTTP istekleri için yönlendirme yaptım yani LiteSpeed halen burakdemirpolat.site adresine gelen Web Socket isteklerini Golang uygulamama yönlendirceğini bilmiyor.

Bunun için yine LiteSpeed panelinden Virtual Host sekmesine gidiyorum ve ilgili domainim olan burakdemirpolat.site adresinin üstüne tıklıyorum.

Bu sefer üst kısımdaki sekmelerden Web Socket Proxy kısmına gidiyoruz ve + butonuna basıyoruz.

URI kısmına yine “/” yazıyoruz yani Web Socket olarak gelen tüm istekleri yönlendireceğimi bildiriyorum.

Address kısmına ise 123.456.789.012:8992 yazıyorum ve kaydediyorum.

Burada http://123.456.789.012:8992 gibi http kullanarak adres yazmamaya dikkat edin!

Artık LiteSpeed hem HTTP isteklerini hemde Web Socket isteklerini Golang uygulamam yönlendirecek.

Son olarak LiteSpeed sunucumu yeniden başlatıyorum. Üst kısımdaki yenileme butonunu kullanabilirsiniz.

Bitti! Bu işlemler doğrultusunda Golang projesinin bir domain ile nasıl bağlanabileceğini görmüş olduk.

Buraya kadar okuduysanız teşekkürler.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Responses (1)

Write a response