Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Web Server, Application Server ve Reverse Proxy: Bir HTTP İsteği Uygulamana Nasıl Ulaşır?
Kestrel hem web server hem application server; reverse proxy ise isteği karşılayıp arkadaki uygulamaya ileten, TLS termination, statik dosya, compression, buffering ve load balancing'i üstlenen katman. Aynı isteği önce doğrudan Kestrel'e, sonra Nginx üzerinden gönderip uygulamanın gördüğü IP'yi, header'ları ve Angular deep link davranışını karşılaştırıyor, beş hosting topolojisini yan yana koyuyoruz.
Kestrel'i Tanımak: Endpoint'ler, ASPNETCORE_HTTP_PORTS, Limit'ler ve HTTP/2–HTTP/3
Kestrel'in dinlediği adresi kodda Listen, Kestrel:Endpoints, --urls/ASPNETCORE_URLS ve ASPNETCORE_HTTP_PORTS belirler; öncelik bu sırayla ve ezilen her ayar log'a uyarı olarak düşer. Dokuz koşuyla önceliği ölçüyor, PEM certificate ve SNI'yi, restart'sız certificate yenilemeyi, varsayılan limit'leri, libmsquic ile HTTP/3'ü, Nginx'e Unix socket ile bağlanmayı ve container'da localhost tuzağını görüyoruz.