8080 Portu Nedir, Ne İşe Yarar? Proxy Port Numaraları

Yayın tarihi:

12 dk okuma

Enver Kaya
Yazar: Enver Kaya
Solda iri 8080 rakamı ve HTTP-ALT başlığı; sağda cetvel çentikli mavi bir sarım bandı ve 3128 ile 1080 yazan iki kart

Ücretsiz bir proxy listesi, bilgi işlem ekibinizin gönderdiği kurulum talimatı ve bir tarayıcı eklentisinin yardım sayfası aynı sayıyla biten bir adres gösteriyor: 8080. Bir hafta sonra dizüstü bilgisayarınıza Jenkins kuruyorsunuz ve program, 8080 portu zaten kullanımda olduğu için açılmıyor. Aynı numara iki kez önünüze çıkıyor, ama iki ileti de bu numaranın ne anlama geldiğini söylemiyor.

Bu yazıda 8080'in ne için kayıtlı olduğunu, proxy'lerin ve geliştirme sunucularının neden aynı numarayı seçtiğini ve 3128, 1080, 443, 8000 ile 8888'in ne anlama geldiğini anlatıyoruz. Ardından iki ayrı "bağlanılamadı" durumunu birbirinden ayırıyor ve 8080'i tutan programı nasıl bulacağınızı gösteriyoruz.

8080 portu nedir?

Port, bir bilgisayara gelen bağlantının hangi programa gideceğini söyleyen numaradır. IP adresi bilgisayarı bulur, port da o bilgisayardaki programı. Genel kavramı TCP ve UDP Farkı yazımızda anlattık; bu yazı belirli numaralarla ilgili.

Resmî listeyi IANA (Internet Assigned Numbers Authority) tutar. IANA port kayıt listesinde 8080, TCP ve UDP için http-alt adıyla kayıtlıdır ve açıklaması "HTTP Alternate (see port 80)", yani "HTTP yedeği, 80 numaralı porta bakın" şeklindedir. Bazı siteler 8080'in resmî bir kaydı olmadığını söyler; kayıt listesi bunun tersini gösterir.

RFC 6335 port numaralarını üç aralığa böler. 0 ile 1023 arasındaki portlar System Ports (sistem portları) olarak geçer; 80 ve 443 buradadır. 1024 ile 49151 arasındakiler User Ports'tur (kullanıcı portları) ve bunları da IANA atar; 8080, 3128 ve 1080 bu aralıktadır. 49152 ile 65535 arasındaki portlar dinamiktir ve hiçbir hizmete atanmaz.

8080 neden hem proxy portu hem de ikinci web sunucusu portu?

Bir IP adresindeki bir portu aynı anda yalnız bir program dinleyebilir. Bir web sunucusu 80 portunu tutuyorsa ikincisi başka bir numara seçmek zorundadır ve 8080 "öteki 80" gibi okunur.

Yetkiler de aynı sonuca götürür. Linux'ta 1024'ün altındaki bir portu dinlemek için CAP_NET_BIND_SERVICE adlı bir yetki gerekir; pratikte bu yetki yalnız root kullanıcısında bulunur (capabilities(7)). Normal bir kullanıcı hesabıyla çalışacak program 1023'ün üstünde bir numara alır ve web trafiği için akla ilk gelen numara 8080'dir.

Jenkins, --httpPort ile başka bir port belirtmediğiniz sürece 8080'i dinler. Tomcat'in RUNNING.txt dosyası, açılışta almaya çalıştığı HTTP portu olarak 8080'i gösterir. Docker'ın belgeleri örnek olarak -p 8080:80 kullanır; bu ayar bilgisayarınızdaki 8080 portunu konteynerin içindeki 80 portuna aktarır (Docker port yayınlama).

HTTP proxy'ler de HTTP konuştuğu için birçoğu 8080'i dinler. Bu bir kural değil, alışkanlıktır: kayıt listesinde 8080'i proxy'lere bağlayan hiçbir şey yoktur.

Adresin sonundaki port numarası nasıl çalışır?

Port, bağlantınızın hangi kapıyı çalacağını belirler:

  1. Adreste port yok. http:// ile başlayan bir adres 80 portuna, https:// ile başlayan bir adres 443 portuna gider. Bu varsayılanları RFC 9110 belirler; numaraları nadiren görmenizin nedeni budur.
  2. İki noktadan sonra port. example.com:8080 aynı sunucuya gider, ama yanıtı 8080 portunu dinleyen program verir.
  3. localhost:8080. localhost kullandığınız cihazın kendisidir; bu adres kendi bilgisayarınızdaki bir programa ulaşır.
  4. Proxy ayarı. Bir proxy adresi ve portu ayarlandığında tarayıcı her isteği önce o porta gönderir, proxy de isteği hedefine iletir.
  5. Dinleyen program yok. Portu dinleyen bir program yoksa bilgisayar bağlantıyı reddeder. "Bağlanılamadı" iletilerinin çoğu burada başlar.

Sık görülen proxy portları ve anlamları

IANA bir numarayı bir hizmete ayırır, ama kimsenin o numarayı başka bir iş için kullanmasını engellemez. Bu yüzden tabloda kayıt listesi ile günlük kullanım ayrı sütunlarda duruyor.

PortIANA kaydıNerede görürsünüzProxy hakkında ne söyler?
80httphttp:// adreslerinin varsayılanıÇok az şey; sağlayıcınıza sorun
443https (TLS üzerinden HTTP)https:// adreslerinin varsayılanıBir proxy burada da dinleyebilir; kısıtlı ağlarda işe yarar
1080socksRFC 1928'e uyan SOCKS sunucularıGenellikle SOCKS5; HTTP proxy kutusuna yazılmaz
3128ndl-aas (Active API Server Port)Squid'in önerdiği yapılandırmaBüyük olasılıkla Squid benzeri bir HTTP proxy; kayıt Squid'e ait değil
8000irdmiPython'un test sunucusu, bazı proxy sağlayıcılarıSağlayıcı ne diyorsa o
8080http-alt (HTTP Alternate)Jenkins, Tomcat, Docker örnekleri, birçok HTTP proxyÇoğu zaman HTTP proxy, ama garantisi yok
8888ddi-tcp-1 (NewsEDGE server)Çeşitli yerel araçlarSağlayıcı ne diyorsa o

3128 portu nedir?

3128, çoğu kişinin Squid ile özdeşleştirdiği numaradır. Squid, okulların ve şirketlerin kullandığı açık kaynaklı, önbellekli bir proxy yazılımıdır. Squid'in http_port belgesi bu ayar için varsayılan bir değer vermez, http_port 3128 satırını önerir ve Squid'in normalde 3128'i dinlediğini söyler. Numara bu örnek yapılandırma üzerinden yayıldı.

IANA kayıt listesinde 3128, Squid'le hiçbir ilgisi olmayan ndl-aas kaydına aittir. Okul ya da işyeri proxy ayarında 3128 görüyorsanız büyük olasılıkla Squid ya da benzeri bir HTTP proxy vardır, ama bunu yalnız ağ yöneticisi doğrulayabilir. Böyle bir proxy ağdaki kullanıcılar adına dışarıya çıkar, yani bir forward proxy'dir (Forward Proxy ve Reverse Proxy). Squid'i kendi sunucunuza kurmayı ve 3128'i yalnız izinli IP adreslerine açmayı Squid proxy kurulum rehberimizde anlattık.

1080 ve 443 portları: SOCKS ve şifreli web trafiği

Mart 1996 tarihli SOCKS5 standardı RFC 1928, SOCKS hizmetinin geleneksel olarak TCP 1080 portunda çalıştığını söyler; IANA da 1080'i socks adıyla listeler. 1080 ile biten bir adres büyük olasılıkla bir SOCKS sunucusudur (SOCKS5 Proxy Nedir?) ve Windows'un ya da tarayıcının HTTP proxy kutusuna yazılmaz. Bu tür trafik için SOCKS5 Proxy sunuyoruz; HTTP ile karşılaştırması SOCKS ve HTTP Proxy Farkı yazısında.

443, https:// adreslerinin varsayılan portudur; neredeyse her güvenli sayfa onu kullanır. Bir proxy de bu portu dinleyebilir ve kısıtlı ağlarda işe yarayan tam da budur: bazı ofis ve okul güvenlik duvarları dışarıya yalnız 80 ve 443 portlarından çıkışa izin verir ve bu durumda 8000 ya da 8080'deki bir proxy zaman aşımına düşer (Proxy ve Firewall Farkı). Web trafiğinde tarayıcıların ve Windows proxy ayarının doğrudan tanıdığı tür ise HTTPS Proxy olur.

8000 ve 8888 portları ne anlama gelir?

İkisi de proxy için kayıtlı değildir. IANA 8000'i irdmi, 8888'i ddi-tcp-1 olarak listeler; 8888 kaydındaki not, bu portun izinsiz kullanıldığının bildirildiğini söyler. Bir geliştiricinin bilgisayarında 8000 çoğu zaman Python'dan gelir, çünkü Python'un yerleşik web sunucusu varsayılan olarak bu portu dinler. Proxy sağlayıcıları bu numaraları kendi tercihlerine göre kullanır; bu blogdaki örneklerde HTTP uç noktamız pr.proxynet.io:8000 olarak geçer.

Port numarası proxy türünü belirler mi?

Hayır. Türü o portu dinleyen yazılım belirler; numara yalnız sağlayıcının seçtiği bir etikettir. Aynı sağlayıcı, aynı sunucuda HTTP ve SOCKS5'i farklı portlardan verebilir: örneklerimizde pr.proxynet.io:8000 HTTP, pr.proxynet.io:1080 ise SOCKS5 içindir.

Bir SOCKS5 portunu Windows'un HTTP proxy kutusuna yazarsanız sunucu bağlantıyı kapatır. Bir HTTP proxy ayarını yerel bir SOCKS5 portuna yönelttiğimizde Chrome ERR_EMPTY_RESPONSE gösterdi, curl ise Proxy CONNECT aborted bildirdi. Teşhis adımları Proxy Sunucusu Yanıt Vermiyor yazısında; sağlayıcınızın her portu nerede gösterdiği ise Proxy Sunucu Adresi Nedir, Nasıl Bulunur? yazısında.

"8080 portu kullanımda" ve "8080 portuna bağlanılamadı": iki ayrı durum

Önce hangi tarafta olduğunuzu belirleyin: bir proxy'ye mi bağlanıyorsunuz, yoksa kendi bilgisayarınızda bir program mı başlatıyorsunuz?

8080 ile biten bir proxy kullanıyorsunuz

Tarayıcı bu adres ve portta bir proxy'ye ulaşamadı. Adresi, portu ve proxy türünü sağlayıcınızın panelinden yeniden kopyalayın ve paketinizin aktif olduğunu kontrol edin. Yerel ağın bu portu engelleyip engellemediğini görmek için telefonunuzdan internet paylaşımı (hotspot) açıp aynı ayarları deneyin. Tüm kontroller Proxy Sunucusu Yanıt Vermiyor yazısında.

Bilgisayarınızdaki bir program 8080 portunu alamıyor

"Port 8080 was already in use", "address already in use" ya da EADDRINUSE gibi iletiler portu başka bir programın tuttuğunu gösterir; bir port aynı anda yalnız bir programa hizmet eder. Sık görülen nedenler:

  • Eski bir kopya hâlâ çalışıyor. Penceresini kapatmış olsanız da program arka planda duruyor olabilir.
  • Windows ile başlayan bir servis var. Jenkins ve Tomcat kurulum programları, bilgisayar açılırken 8080'i alan bir servis kaydedebilir.
  • Bir Docker konteyneri portu tutuyor. -p 8080:... ile başlatılan bir konteyner, çalıştığı sürece portu elinde tutar.
  • Kod düzenleyiciniz projenizin sunucusunu unuttuğunuz bir terminalde hâlâ çalıştırıyor.

İki çıkış yolu var: portu tutan programın ne olduğunu öğrendikten sonra onu durdurmak ya da yeni programı 8081 gibi başka bir numaraya taşımak. Jenkins'te bunun için --httpPort seçeneği kullanılır. Tomcat'te ise conf/server.xml dosyasındaki 8080 değiştirilir; RUNNING.txt de port doluysa bunu yapmanızı söyler.

İleri seviye: 8080 portunu hangi program kullanıyor?

Bu bölüm komut penceresiyle rahat çalışan okurlar için; isterseniz atlayabilirsiniz. Komutlar yalnız kendi bilgisayarınıza bakar.

bash
# Windows (Komut İstemi): son sütun süreç kimliğidir (PID)
netstat -ano | findstr :8080
tasklist /FI "PID eq 1234"

# macOS ve Linux
lsof -i :8080

netstat çıktısında LISTENING durumundaki satırı bulun (Türkçe Windows'ta bu sözcük Türkçe görünebilir), örneğin TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 6508. Sondaki sayı, portu tutan programın PID'idir. Programın adını görmek için bu sayıyı tasklist komutunda 1234'ün yerine yazın ya da Görev Yöneticisi'nde Ayrıntılar sekmesinin PID sütununda arayın. Microsoft'un netstat başvuru sayfası, PID'i ekleyen -o seçeneğini açıklar.

macOS ve Linux'ta lsof -i :8080 program adını ve PID'i listeler (lsof kılavuzu); başka bir hesap altında çalışan bir servis yalnız sudo ile görünebilir. Bir programı kapatmadan önce ne olduğunu kontrol edin: tanımadığınız bir PID, başka bir uygulamanın ihtiyaç duyduğu bir veritabanı olabilir.

Kullanım alanları

  • Tarayıcıya proxy girmek: adres ve port ayrı kutulara yazılır (Windows ve Chrome proxy ayarları).
  • Linux sunucuda proxy ayarları: proxy URL'si portu da içerir; curl ise port yazılmış no_proxy girdilerini yok sayar (Linux proxy ayarları).
  • Kodda proxy kullanmak: libcurl, portu yazılmamış bir proxy adresinde 1080 portunu varsayar (PHP ile siteden veri çekme).
  • Yeni bir proxy'yi kontrol etmek: adresi ve portu önce tarayıcı dışında test edin (proxy nasıl test edilir).
  • Ofis ve okul ağları: ağ ayarlarında görülen 3128 ya da 8080 genellikle bilgi işlem ekibinin yönettiği bir forward proxy'yi gösterir (Squid proxy kurulumu).
  • Yerel Python betikleri: localhost:8000 adresine ulaşamayan bir betik uzun bir hata yazdırır (max retries exceeded hatası).

Sık yapılan hatalar

  • Her 8080'i HTTP proxy sanmak. Numara bir alışkanlıktır; türü panel söyler.
  • SOCKS portunu HTTP kutusuna yazmak. Windows proxy ayarına 1080'li bir adres girerseniz sunucu bağlantıyı kapatır.
  • Adres kutusuna :8080 eklemek. Ayrı bir port kutusu varsa adres kutusuna yalnız sunucu adı ya da IP yazılır.
  • Ücretsiz listedeki bir IP:8080 satırına güvenmek. Bu sunucuları kimin çalıştırdığını ya da neyi kaydettiğini size kimse söylemez (Ücretsiz proxy'ler güvenli mi?).
  • Port çakışmasını çözmek için güvenlik duvarını kapatmak. Çakışma bilgisayarınızdaki iki program arasındadır; güvenlik duvarının bunda payı yoktur.
  • IANA'nın 3128'i Squid'e verdiğini sanmak. Kayıt listesi 3128'i ndl-aas olarak gösterir.

Karar rehberi

İhtiyaçÖneri
Sağlayıcınız bir port verdi ve nereye yazacağınızdan emin değilsinizPortu proxy türüyle birlikte girin; proxy adresinizi nasıl bulacağınıza bakın
Tarayıcı 8080 ile biten bir proxy'ye bağlanamıyorAdresi, portu ve paketi panelle karşılaştırın; ardından Proxy Sunucusu Yanıt Vermiyor yazısına geçin
Jenkins, Tomcat ya da Docker 8080 portunun kullanımda olduğunu söylüyorProgramı ileri seviye komutlarla bulun; durdurun ya da 8081'e taşıyın
İşte ya da okulda 8000 veya 8080'deki bir proxy zaman aşımına düşüyorAğ yalnız 80 ve 443'e izin veriyor olabilir; yöneticiye sorun (Proxy ve Firewall Farkı)
Bir oyun ya da mesajlaşma uygulaması SOCKS istiyorSOCKS5 Proxy ile 1080 gibi bir SOCKS portu kullanın
Evde 8080 üzerinde başkalarının erişeceği bir hizmet çalıştırmak istiyorsunuzBu, modemde port yönlendirme işidir (TCP ve UDP Farkı)
Ücretsiz bir listede IP:8080 satırı buldunuzÜzerinden parola ya da kişisel veri göndermeyin (Ücretsiz proxy'ler güvenli mi?)

Sıkça sorulan sorular

8080 portu ile 80 portu arasındaki fark nedir?

80, http:// adreslerinin varsayılan portudur; tarayıcı onu siz yazmadan kullanır. 8080 aynı trafik için kayıtlı yedek porttur ve adreste yazılması gerekir, örneğin example.com:8080. Trafik aynı HTTP'dir; yalnız kapı farklıdır.

8080 portu nasıl açılır?

"Port açmak" iki farklı anlama gelir. Bilgisayarınızdaki bir programın evdeki diğer cihazlardan bağlantı kabul etmesi gerekiyorsa Windows güvenlik duvarında ona izin verin. İnternetteki kişilerin de ulaşması gerekiyorsa modeminizde ayrıca bir port yönlendirme kuralı gerekir. Proxy kullanmak için ikisine de gerek yoktur, çünkü bağlantıyı bilgisayarınız dışarıya doğru başlatır; modem adımları TCP ve UDP Farkı yazısında.

localhost:8080 ne demek?

Kendi cihazınızda 8080 portunu dinleyen program demektir: yerel bir web sunucusu, Jenkins paneli ya da bir konteynerdeki uygulama olabilir. Başka bir cihaz aynı adresi kullanamaz, çünkü orada localhost o cihazın kendisini gösterir.

8000 ve 8888 proxy portları mı?

Kayıt açısından değil: IANA 8000'i irdmi, 8888'i ddi-tcp-1 olarak listeler. Yine de bazı sağlayıcılar bu portları kullanır ve bunda bir sakınca yoktur. Çalışan port, sağlayıcınızın size verdiği porttur.

443 portu nedir, proxy bu portta çalışabilir mi?

443, https:// adreslerinin varsayılan portudur. Bir proxy, diğer portlarda olduğu gibi 443'ü de dinleyebilir; bu, dışarıya yalnız 80 ve 443 üzerinden çıkışa izin veren ağlarda işe yarar. Sağlayıcınıza bu portu sunup sunmadığını sorun.

8080 portunu açık bırakmak güvenli mi?

Açık bir portun riski, arkasındaki programın riski kadardır. İnternetten 8080 üzerinden erişilebilen bir geliştirme sunucusunu, yönetim panelini ya da parolasız bir proxy'yi yabancılar da kullanabilir. Yerel araçları yerel tutun, artık gerekmeyen modem yönlendirme kurallarını silin ve dışarıya açtığınız her şeyi parolayla koruyun.

Özet

8080 portu IANA'da http-alt adıyla, yani web trafiğinin yedek portu olarak kayıtlıdır; geliştirme sunucularının ve HTTP proxy'lerin bu portu kullanmasının nedeni budur. Numara hiçbir zaman proxy türünü belirlemez: 3128 Squid'den gelen bir alışkanlıktır, 1080 SOCKS için kayıtlı porttur ve yazmanız gereken port, sağlayıcınızın panelinde gördüğünüz porttur. "Bağlanılamadı" iletisi aldığınızda önce bir proxy'ye mi bağlandığınıza, yoksa kendi bilgisayarınızda bir program mı başlattığınıza bakın, çünkü çözümler farklıdır. HTTP ve SOCKS5 için ayrı portlar sunan proxy'ler arıyorsanız proxy hizmetlerimize göz atın.

ChatGPT'ye sorClaude'a sor