Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTTP port, web tarayıcısı ile web sunucusunun HTTP bağlantısı kurduğu numaralı iletişim kapısıdır. HTTP için varsayılan port 80’dir. Bu nedenle http://example.com adresi yazıldığında tarayıcı genellikle bağlantıyı otomatik olarak 80 numaralı porta gönderir. HTTPS ise HTTP’nin güvenli iletişim biçimidir ve varsayılan olarak 443 numaralı portu kullanır.

Port, HTTP’nin kendisi değildir. HTTP; istemci ile sunucunun istek ve yanıt biçimini belirleyen protokoldür. Port ise bu iletişimin sunucuda hangi ağ kapısından kabul edileceğini belirtir. Aynı sunucuda web sitesi, SSH, e-posta veya veritabanı gibi farklı hizmetler farklı portlarda çalışabilir.

HTTP portu nasıl çalışır?​


Bir kullanıcı tarayıcıya adres yazdığında genel akış şöyledir:
  1. Alan adı bir IP adresine çözümlenir.
  2. Tarayıcı, belirtilen protokolün varsayılan portuna veya URL’de açıkça yazılan porta bağlantı kurar.
  3. Web sunucusu o portu dinliyorsa HTTP isteğini kabul eder.
  4. Sunucu isteğe durum kodu ve içerik ile yanıt verir.
Standart port URL’de yazılmayabilir. Standart olmayan bir port kullanılıyorsa port numarası adresin sonunda belirtilmelidir:

Kod:
http://example.com:8080

Bu örnekte istek 80 yerine 8080 numaralı porta gönderilir. Sunucuda uygulama 8080’i dinlemiyorsa, güvenlik duvarı bağlantıyı engelliyorsa veya yönlendiricide doğru NAT/port yönlendirmesi yoksa site açılmaz.

HTTP ve HTTPS portlarının farkı​


Aşağıdaki ayrım, sunucu yapılandırmasında en sık kullanılan temel eşleştirmedir:
ProtokolVarsayılan portURL örneğiTemel özellik
HTTP80http://example.comŞifresiz HTTP bağlantısı
HTTPS443https://example.comTLS ile korunan HTTP bağlantısı
Özel HTTP8080 gibihttp://example.com:8080Port URL’de açıkça belirtilir
HTTPS kullanıldığında HTTP ortadan kalkmaz. HTTP/1.1 ve HTTP/2 yaygın olarak TLS korumalı TCP bağlantısında, HTTP/3 ise QUIC üzerinden UDP ile çalışır; HTTPS için varsayılan hedef port yine 443’tür. Bu nedenle 80 ve 443 portlarının görevleri aynı değildir: 80 genellikle HTTP trafiği, 443 ise HTTPS trafiği için yapılandırılır.

Sunucuda HTTP portunu kontrol etme​


Bir Linux sunucuda yerel olarak hangi servislerin dinleme yaptığını görmek için şu komutu çalıştırabilirsiniz:

Kod:
ss -ltnp

Komut TCP dinleyicilerini listeler; LISTEN satırlarında 80, 443 veya kullandığınız özel portu arayın. -p işlem bilgisinin tamamı için yönetici yetkisi gerekebilir. Örneğin 80 için satır görülmesi, makinede bir işlemin bu portu dinlediğini gösterir; tek başına internetten erişilebildiğini kanıtlamaz. Dış erişim için güvenlik duvarı, bulut güvenlik kuralı, NAT ve DNS de ayrıca doğru olmalıdır.

HTTP yanıtını test etmek için:

Kod:
curl -I http://example.com

HTTP/1.1 200 OK veya benzeri bir HTTP yanıtı alınması, hedefe HTTP isteği ulaştığını gösterir. Connection refused sonucu genellikle hedef portta dinleyen servis olmadığını; zaman aşımı ise ağ yolu veya güvenlik duvarı engeli olabileceğini düşündürür. Yanıt kodu 301 ya da 302 ise sunucu isteği başka bir adrese yönlendiriyor olabilir; bu, portun çalışmadığı anlamına gelmez.

HTTP/3 kullanıyorsanız TCP listesi tek başına yeterli değildir; ss -lunp ile UDP soketlerini de inceleyin. Bir portun numarasını 443 yapmak tek başına şifreleme sağlamaz; hizmetin uygun TLS/QUIC yapılandırması gerekir.

Sunucu yapılandırmasında dikkat edilecekler​


Apache’de Listen 80 benzeri bir tanım HTTP sunucusunun 80 numaralı portu dinlemesini sağlar. Nginx’te benzer görev listen 80; tanımıyla yapılır. Uygun bir paylaşım yapılandırması olmadan iki bağımsız servisi aynı TCP IP/port birleşiminde dinletmeye çalışmak, bağlama hatasına yol açabilir. Aynı makinede farklı IP veya farklı port kullanımı ise ayrı değerlendirilir.

Sık yapılan hatalar şunlardır:
  • 80 açıkken HTTPS’nin de otomatik olarak çalışacağını sanmak. HTTPS için 443 dinlenmeli ve TLS yapılandırması yapılmalıdır.
  • URL’ye :80 veya :8080 eklemenin sunucuyu o porta taşıdığını düşünmek. URL yalnızca istemcinin hangi porta bağlanacağını belirtir.
  • Servisin yerel olarak port dinlemesini, internetten erişilebilir olmakla karıştırmak.
  • Güvenlik duvarında portu açıp web sunucusunu ilgili portta yapılandırmamak.
  • Aynı portu Apache, Nginx veya başka bir uygulamaya aynı anda atamaya çalışmak.
Sorun yaşıyorsanız önce URL’deki protokol ve portu, ardından sunucunun dinleme durumunu, son olarak güvenlik duvarı ve yönlendirme kurallarını kontrol edin. Böylece problemin tarayıcıda mı, ağda mı, yoksa web sunucusu yapılandırmasında mı olduğunu ayırabilirsiniz.

Sık sorulan sorular​


HTTP portunu 80 yerine başka bir numara yapabilir miyim?​


Evet. Web sunucusunu örneğin 8080 portunu dinleyecek şekilde yapılandırabilirsiniz; ancak kullanıcıların URL’de bu portu belirtmesi ve ağ güvenlik kurallarının bağlantıya izin vermesi gerekir.

Port 80 kapalıysa HTTPS çalışır mı?​


Evet, 443 doğru yapılandırılmışsa HTTPS doğrudan çalışabilir. Ancak HTTP’den HTTPS’ye yönlendirme veya 80 üzerinden gelen eski bağlantıların karşılanması gerekiyorsa 80’in ayrıca erişilebilir olması gerekebilir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic