İçeriğe atla
HexaTransfer
Bloga dön
Dosya transferi

Dosya aktarım zaman aşımı hataları: nedenler ve çözümler

Dosya aktarımlarında zaman aşımı hataları mı alıyorsunuz? Nedenlerini anlayın ve bağlantı zaman aşımları için kanıtlanmış düzeltmeleri öğrenin.

Dosya aktarımlarındaki zaman aşımı hataları dört kaynaktan birinden gelir: istemcinin HTTP isteği sunucudan yanıt almak için çok uzun bekledi (genellikle 30 ila 120 saniye), sunucu istemcinin veri göndermesini çok uzun bekledi (yavaş yüklemelerde yaygın), ara bir proxy ya da yük dengeleyici bağlantıyı kesti (AWS ALB varsayılanı 60 saniyedir) veya işletim sistemi boştaki bir TCP bağlantısını sonlandırdı. 504 Gateway Timeout, yük dengeleyicinin kaynak sunucuya ulaşamadığı anlamına gelir. 408 Request Timeout, sunucunun verilerinizi beklemeyi bıraktığı anlamına gelir. ERR_CONNECTION_TIMED_OUT ise TCP el sıkışmasının hiç tamamlanamadığını gösterir. Her birinin kendine özgü çözümü vardır.

Hata türünü mesajdan okuyun

Farklı zaman aşımları farklı çözümler gerektirir:

  • 504 Gateway Timeout: Ara proxy veya yük dengeleyici zaman aşımına uğradı. Hizmet tarafı sorundur, genellikle geçicidir. Tekrar deneyin veya bölge değiştirin.
  • 408 Request Timeout: Sunucu istemci verilerini beklemeyi bıraktı. Yüklemeniz istek ortasında durdu.
  • 524 (Cloudflare): Kaynak sunucu 100 saniye içinde yanıt vermedi. Hizmet tarafı sorunudur.
  • 502 Bad Gateway: Proxy, kaynaktan geçersiz yanıt aldı. Hizmet kesintisi veya devreye alım sürecinde olabilir.
  • ERR_CONNECTION_TIMED_OUT: Sunucuya TCP bağlantınız hiç tamamlanamadı. Ağ veya güvenlik duvarı sorunu.
  • ERR_NETWORK_CHANGED: Bağlantı ortasında ağınız değişti. Wi-Fi geçişi veya VPN bağlantı kopması.

DevTools'un Network sekmesi tam yanıtı, zamanlamayı ve durum kodunu gösterir. Sekmeden çıkmadan önce ekran görüntüsünü alın.

Wi-Fi geçişleri uzun süreli yüklemeleri keser

Dizüstü bilgisayar Wi-Fi çipleri bantlar ve erişim noktaları arasında otomatik olarak geçiş yapar. Her geçiş mevcut TCP bağlantısını keser. Tek akışlı yüklemeler anında başarısız olur; parçalı yüklemeler hizmet her parçayı yeniden deniyorsa kurtulabilir.

Çözüm: 2 GB üzerindeki yüklemelerde Ethernet kablosu kullanın. Mümkün değilse yönlendiricinizde band yönlendirmeyi devre dışı bırakın (dizüstü bilgisayarınızın SSID'si için "Yalnızca 5 GHz" olarak ayarlayın) ve tek bir odada kalın. macOS için yükleme sırasında daha güçlü sinyal aramasını önlemek amacıyla birincil SSID dışındaki ağlar için "Otomatik Bağlan"ı kapatın.

Hizmet tarafındaki yük dengeleyici zaman aşımları

AWS Application Load Balancer varsayılan boşta kalma zaman aşımını 60 saniyeye ayarlar. Nginx, proxy_read_timeout için varsayılan olarak 60 saniye kullanır. Bu değerleri düzgün ayarlamamış hizmetler, kısa süreliğine duran yüklemeleri (şifreleme için, kaynakta yavaş disk okuma için) 60. saniyede keser.

Belirli bir hizmette 504 zaman aşımları görüyorsanız bu genellikle onların yanlış yapılandırılmış yük dengeleyicisidir. İstemci tarafında yapabileceğiniz bir şey yoktur; sadece tekrar deneyin. Parçalı yükleyiciler başarısız parçayı yeniden deneyerek bunu şeffaf biçimde aşar; tek akışlı yükleyiciler tamamen başarısız olur ve baştan başlamanız gerekir.

Kurumsal proxy zaman aşımları

Zscaler, Blue Coat, Palo Alto ve diğer kurumsal proxy'ler kendi zaman aşımlarını zorlar; genellikle 30 saniye ila 5 dakika boşta kalma. Yüklemeniz proxy'nin boşta algıladığı bir şey yapıyorsa (şifreleme duraklaması, parça yeniden deneme gecikmesi) proxy bağlantıyı keser.

Tanılamak için kurumsal ağ dışında yükleme yapın (telefon hotspot'u). Zaman aşımları kaybolursa proxy sorundur. BT biriminden aktarım hizmetinin alan adını allowlist'e almasını ve bu alan adları için incelemeyi atlamasını isteyin. Alternatif olarak kişisel ağ veya evden VPN tüneli kullanılabilir.

İşletim sistemi düzeyinde TCP keepalive

Linux varsayılan olarak TCP keepalive paketlerini yalnızca 2 saatlik boşta kalmadan sonra gönderir; dosya aktarımı için bu işe yaramaz. macOS ve Windows'ta da benzer varsayılanlar vardır. Kararsız ağlarda çok uzun yüklemeler için bazı hizmetler WebSocket ping çerçeveleri veya periyodik boş parçalarla uygulama düzeyinde keepalive uygular. Hizmet bunu yapmıyorsa, uzun yüklemeler bir NAT güvenlik duvarından geçerken (çoğu ev yönlendiricisinde varsayılan 5 dakikalık UDP oturumu zaman aşımı) NAT girişinin süresi dolduğunda kesilebilir.

VPN oturum token yenileme

Bazı VPN istemcileri oturum token'larını her 5 ila 15 dakikada bir yeniler. Hatalı istemcilerde bu yenileme, yarım saniye boyunca alttaki TCP tünelini keser. Uzun yüklemeler o anda başarısız olur.

Ücretli VPN'ler (Mullvad, ProtonVPN Plus, IVPN) bunu temiz biçimde halleder. Ücretsiz VPN'ler genellikle halledemez. 10. dakikada tutarlı zaman aşımları görüyorsanız VPN yenilemeyi şüphelenin. Aktarım hizmeti zaten TLS 1.3 uçtan uca şifreleme kullanıyorsa yükleme için VPN'i bağlantısını kesin.

Hücresel el değiştirme

Hücresel veri, hareket ederken hücreler arasında geçiş yapar. Her el değiştirme ya (a) mobilite yönetimi ile IP'yi korur (şeffaf) ya da (b) yeni IP atar (bağlantı kesilir). LTE'de çoğu el değiştirme şeffaftır. 5G'de, özellikle mmWave, sub-6 veya LTE'ye geri dönüş sırasında IP değişebilir ve bağlantılar kesilebilir.

Hücresel veri üzerinden hareket halinde bir araçtan yükleme yapıyorsanız kesinti bekleyin. Parçalı-sürdürülebilir yükleyiciler bunu iyi halleder; tek akışlı yükleyiciler halledemez.

mod_security ve WAF zaman aşımları

Bir hizmet Web Uygulama Güvenlik Duvarı'nın (Cloudflare WAF, AWS WAF, ModSecurity) arkasındaysa WAF uzun süreli yüklemeyi şüpheli bulup kesebilir. Belirtiler: küçük boyutlarda yüklemeler başarılı olur, belirli bir eşikte başarısız olur (WAF yapılandırmasına bağlı olarak genellikle 1 GB veya 10 GB), 403 veya 502 yanıtlarıyla. İstemci tarafında düzeltebileceğiniz bir şey yoktur; hizmete bildirin.

Tarayıcı varsayılan zaman aşımları

Tarayıcıların da istek zaman aşımları vardır, ancak genellikle yüklemeler için yeterince cömert ayarlanmıştır. Chrome ve Firefox, XHR ve fetch isteklerine varsayılan olarak sınırsız süre tanır; ancak bazı yapılandırmalarda 5 dakika sonra boşta kalan bağlantıları sonlandırabilirler.

Hizmetin kendi JavaScript'i parça başına xhr.timeout = 30000 (30 saniye) ayarlarsa yavaş parçalar başarısız olur. Bu hizmet tarafı bir hatadır; bildirin.

Antivirüs HTTPS trafiğini inceliyor

"HTTPS incelemesi" etkinleştirilmiş Windows Defender, Norton, Bitdefender ve benzerleri, içeriği taramak için HTTPS bağlantılarını MITM ile keser. Büyük yüklemelerde taramanın kendisi gecikme ekler ve parçaları sunucu tarafındaki zaman aşımlarının ötesine itebilir.

Büyük yüklemeler sırasında HTTPS incelemesini geçici olarak devre dışı bırakın (tüm antivirüsü değil, yalnızca HTTPS taramasını). Yüklemeler başarılı olursa aktarım hizmetini antivirüsün kalıcı istisna listesine ekleyin.

Yeniden deneme mantığı ve üstel geri çekilme

İyi yapılandırılmış aktarım istemcileri başarısız parçaları üstel geri çekilmeyle yeniden dener: 1 saniye, sonra 2, sonra 4, sonra 8. Kısa bir ağ kesintisi şeffaf biçimde iyileşir. Yeniden deneme mantığı olmayan istemciler ilk hatada başarısız olur.

15 dakika sonra tekrar deneyin

Bazı zaman aşımları geçicidir: bir Cloudflare edge dalgalanması, bir hizmet dağıtımı, tıkanan bir transit bağlantı. Sorun büyütmeden önce 15 dakika sonra tekrar deneyin. Yine başarısız olursa sorunun sizin mi yoksa onların mı olduğunu ayırt etmek için farklı bir ağa geçin.

Güçlü yeniden deneme mantığına sahip bir hizmet seçin

Güvenilmez ağlarda büyük dosyalar için parça başına yeniden deneme, sürdürülebilir oturum durumu ve saldırgan sunucu tarafı zaman aşımı olmayan bir hizmet istiyorsunuz. HexaTransfer, paralel parçalı yüklemeleri parça başına yeniden denemeyle ve istemci tarafında AES-256-GCM şifrelemesiyle çalıştırır; bu sayede 10 GB'lık bir yükleme, kararsız bir bağlantıda tek bir ağ dalgalanmasında tüm aktarımı başarısız kılmak yerine etkilenen parçaları şeffaf biçimde yeniden dener.

hexatransfer.com'da deneyin — ücretsiz, hesap gerekmez, 10 GB'a kadar.

Uçtan uca şifreleme ile büyük dosyaları güvenle gönderin

Uçtan uca şifreleme ile 10 GB'a kadar dosya ücretsiz aktarın. Hesap gerekmez. Dosyalarınız yüklenmeden önce tarayıcınızda şifrelenir — başka kimse okuyamaz.

Dosya gönder