Web sitenin yüklenmediği veya web sunucunun başlamadığı durumlarda, port 80 kontrolü genellikle atman gereken ilk sorun giderme adımıdır. Port 80, HTTP trafiği için varsayılan geçit görevi görür ve bu da onu web iletişimi için vazgeçilmez kılar. İster yeni bir web sunucusu kuruyor ol, ister hosting ortamlarını taşıyor ol veya aniden bağlantı hatalarıyla karşılaşıyor ol, port 80 sorunlarını nasıl teşhis edip düzelteceğini anlamak saatlerce sıkıntıdan kurtarabilir. Bu rehber, yaygın senaryoları, gerçek hata mesajlarını ve web hizmetlerini sorunsuz çalıştırmak için pratik çözümleri anlatıyor.
Port 80'i Anlamak ve Yaygın Hata Senaryoları
Port 80, HTTP web trafiği için standart porttur. Bir web sitesi adresini port numarası belirtmeden yazdığında, tarayıcın otomatik olarak port 80'e bağlanır. Bu portu bir şey engellediğinde veya birden fazla hizmet aynı anda kullanmaya çalıştığında sorunlar ortaya çıkar.
Yaygın tarayıcı hata mesajları arasında "Bu siteye ulaşılamıyor," "ERR_CONNECTION_REFUSED" veya "Bağlanılamıyor" yer alır. Sunucu loglarında "Adres zaten kullanımda" veya "İzin reddedildi" hatalarını görebilirsin. Bu mesajlar, belirli sorun giderme yaklaşımları gerektiren farklı temel sorunlara işaret ediyor.
Web Hosting Kurulum Çakışmaları
İlk web sunucusu yapılandırması sırasında port çakışmaları sıkça meydana gelir. Apache, Nginx veya IIS kuruyorsan, başka bir hizmet port 80'i zaten işgal ediyorsa kurulum başarısız olabilir. Skype, bazı VPN istemcileri ve hatta bazı antivirüs programları bu portu talep edebilir.
Windows'ta port 80'i neyin kullandığını belirlemek için Komut İstemi'ni yönetici olarak aç ve şunu çalıştır:
netstat -ano | findstr :80
Linux veya macOS'ta şunu kullan:
sudo lsof -i :80
Bu komutlar portu işgal eden işlem kimliğini (PID) ortaya çıkarır. Ardından o hizmeti durdurmaya veya web sunucunu farklı bir port kullanacak şekilde yapılandırmaya karar verebilirsin.
Çoklu Web Sunucu Çakışmaları
Aynı makine üzerinde birden fazla web sunucusu çalıştırmak kaçınılmaz port 80 çakışmaları yaratır. Farklı sunucu yazılımlarını test ederken veya geliştirme ortamlarını üretim sunucularının yanında çalıştırırken bununla karşılaşabilirsin. Başlamaya çalışan ikinci sunucu "Adres zaten kullanımda" hatasıyla başarısız olur.
Çözüm, bir sunucuyu durdurmayı, onları farklı portlar (8080 veya 8000 gibi) kullanacak şekilde yapılandırmayı veya bir sunucunun gelen trafiği alıp domain veya yola göre diğerlerine yönlendirdiği bir ters proxy kurulumu kullanmayı içerir.
ISP, Güvenlik Duvarı ve Router Engellerini Ayırt Etmek
Bir port 80 kontrolü bağlantı sorunlarını ortaya çıkardığında, engel üç farklı seviyeden kaynaklanabilir. Hangisinin seni etkilediğini anlamak çözüm yolunu belirler.
ISP Seviyesinde Port Engelleme
Birçok İnternet Servis Sağlayıcısı, müşterilerin web sunucuları çalıştırmasını önlemek için ev bağlantılarında gelen port 80 trafiğini engeller. Bu politika ağlarını korur ve iş planı yükseltmelerini teşvik eder. Sunucun yerel olarak iyi çalışıyorsa ancak harici kullanıcılar bağlanamıyorsa bunu fark edersin.
ISP engellemesini test etmek için port kontrol aracımızı kullan. Sunucun çalışıyor ve güvenlik duvarı kuralları trafiğe izin veriyorsa port kapalı görünüyorsa, ISP'n muhtemelen onu engelliyor. Çözümler arasında iş planı için ISP'nle iletişime geçmek, 8080 gibi farklı bir port kullanmak (ancak kullanıcıların URL'lerde belirtmesi gerekir) veya trafiği yönlendiren bir VPS üzerinden ters proxy kurmak yer alır.
Yerel Güvenlik Duvarı Yapılandırması
İşletim sistemi güvenlik duvarları güvenlik nedeniyle sıklıkla port 80'i varsayılan olarak engeller. Windows Güvenlik Duvarı, Linux'ta iptables ve macOS güvenlik duvarı, sunucun doğru çalışmasına rağmen gelen bağlantıları engelleyebilir.
Windows'ta, Windows Defender Güvenlik Duvarı'ndan port 80'e izin veren bir gelen kuralı oluşturman gerekir. Gelişmiş Ayarlar'a git, Gelen Kurallar'ı seç ve TCP port 80 için yeni bir kural oluştur.
iptables kullanan Linux için, port 80'e şununla izin ver:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
ufw kullanan sistemler için (Ubuntu ve türevleri):
sudo ufw allow 80/tcp
Güvenlik duvarı değişikliklerini yaptıktan sonra, kuralın etkinleştiğini doğrula ve hem yerel hem de harici ağlardan bağlantıyı test et.
Router Port Yönlendirme Sorunları
Ev router'ının arkasında bir sunucu barındırırken, harici trafiği sunucunun dahili IP adresine yönlendirmek için port yönlendirmeyi yapılandırmalısın. Uygun yönlendirme kuralları olmadan, harici istekler asla makinene ulaşmaz.
Router'ının yönetici paneline eriş (genellikle 192.168.1.1 veya 192.168.0.1'de), port yönlendirme bölümünü bul ve harici port 80'i sunucunun yerel IP adresine port 80 üzerinden yönlendiren bir kural oluştur. Sunucunun statik bir yerel IP'si olduğundan veya IP'nin değişmesini önlemek için DHCP rezervasyonu kullandığından emin ol.
Sistematik Sorun Giderme İş Akışı
Port 80 sorunlarıyla karşılaştığında, sorun kaynağını hızlıca belirlemek için bu tanı sırasını takip et:
- Hizmetin çalıştığını doğrula: Görev yöneticisi veya işlem izleme komutlarını kullanarak web sunucu sürecinin gerçekten aktif olduğunu kontrol et.
- Yerel bağlantıyı test et: Tarayıcında localhost veya 127.0.0.1'e eriş. Bu başarısız olursa, sorun sunucu yapılandırması veya yerel güvenlik duvarındadır.
- LAN bağlantısını test et: Yerel ağındaki başka bir cihazdan sunucunun yerel IP'sini kullanarak sunucuya erişmeyi dene. Burada başarısızlık yerel güvenlik duvarı sorunlarını gösterir.
- Harici bağlantıyı test et: Mobil verilerle bir mobil cihaz veya çevrimiçi port kontrol aracı kullan. Bu aşamada başarısızlık router yapılandırması veya ISP engellemesine işaret eder.
- Logları incele: Port bağlama hataları veya izin sorunları hakkında özel mesajlar için sunucu hata loglarını kontrol et.
Sunucu logları genellikle Linux'ta /var/log/apache2/ veya /var/log/nginx/'de veya Windows'ta kurulum dizininde bulunur. Hizmeti başlattığında veya bağlantı denemeleri başarısız olduğunda eşleşen zaman damgalarını ara.
Önemli Noktalar:
- Port 80 çakışmaları genellikle aynı port için rekabet eden birden fazla hizmetten veya trafiği engelleyen güvenlik duvarı kısıtlamalarından kaynaklanır
- Daha fazla sorun gidermeden önce port 80'i hangi işlemin işgal ettiğini belirlemek için netstat veya lsof komutlarını kullan
- ISP engelleri, yerel güvenlik duvarları ve router yapılandırmaları farklı çözümler gerektiren farklı belirtiler yaratır
- Tam engelleme noktasını belirlemek için yerel bağlantıdan harici bağlantıya sistematik bir test yaklaşımı izle
Sonuç
Port 80 sorun gidermeyi başarıyla yapmak, sorunların oluşabileceği farklı katmanları anlamayı gerektirir. Yerel makinenden ağına, güvenlik duvarına, router'ına ve ISP'ne doğru sistematik olarak test ederek, trafiğin tam olarak nerede engellendiğini belirleyebilirsin. İster çakışan hizmetlerle, ister güvenlik duvarı kurallarıyla veya ISP kısıtlamalarıyla uğraşıyor ol, burada özetlenen tanı komutları ve çözümleri net bir yol sunuyor. Güvenlik değerlendirmelerinin kararlarına rehberlik etmesi gerektiğini unutma - port 80'i yalnızca gerektiğinde aç ve web sunucu yazılımının güvenlik yamaları ile güncel kaldığından emin ol.
SSS
Windows'ta netstat -ano | findstr :80 veya Linux/macOS'ta sudo lsof -i :80 komutunu kullanarak port 80'de bir şeyin dinleme yapıp yapmadığını gör. Harici test için, web sunucun çalışırken ağının dışından erişilebilirliği doğrulamak için çevrimiçi bir port kontrol aracı kullan.
Bu genellikle eksik router port yönlendirme yapılandırmasını veya ISP seviyesinde port engellemesini gösterir. İlk olarak, port 80 trafiğini sunucunun yerel IP adresine yönlendirmek için router'ında port yönlendirmeyi kurduğundan emin ol. Bu doğru yapılandırılmışsa, ISP'n ev planlarında gelen port 80 bağlantılarını engelliyor olabilir.
Bu hata, başka bir işlemin zaten port 80'i kullandığı anlamına gelir. Yaygın suçlular arasında başka bir web sunucu örneği, Skype, belirli VPN yazılımları veya Windows'ta IIS bulunur. Çakışan işlemi belirlemek için netstat veya lsof komutlarını kullan, ardından onu durdur veya web sunucunu 8080 gibi farklı bir port kullanacak şekilde yapılandır.
Aynı portta doğrudan çalıştıramazsın. Ancak, bir web sunucusunu (Nginx gibi) port 80'de ters proxy olarak yapılandırabilirsin; bu sunucu istekleri domain adlarına veya URL yollarına göre farklı portlarda çalışan diğer web sunucularına yönlendirir. Bu, hepsini standart port 80 üzerinden sunarken birden fazla uygulamayı barındırmanı sağlar.
Modern web siteleri güvenlik için HTTPS şifrelemesiyle port 443 kullanmalı. Port 80 ilk HTTP bağlantıları için gerekli olmaya devam etse de, en iyi uygulama tüm port 80 trafiğini otomatik olarak port 443'e (HTTPS) yönlendirmeyi içerir. Bu, kullanıcı verilerini korur ve arama motoru sıralamalarını iyileştirir, çünkü Google güvenli sitelere öncelik verir.