İçindekiler
HTTPS üzerinden açılmak istenen bir sitede görülen güvenlik uyarılarının çoğu sertifikanın süresi veya güvenilirliğiyle ilgilidir. SSL_ERROR_RX_RECORD_TOO_LONG hatası ise farklı bir katmandan kaynaklanır, dolayısıyla çözümü de farklı bir yerde aranır. Aşağıda hatanın nedenlerini, teşhis yöntemlerini ve hem ziyaretçi hem site sahibi tarafında uygulanabilecek adımları bulacaksınız.
SSL_ERROR_RX_RECORD_TOO_LONG Hatası Nedir?
SSL_ERROR_RX_RECORD_TOO_LONG, tarayıcının şifreli bir yanıt beklediği bağlantıda TLS biçiminde olmayan veri alması nedeniyle bağlantıyı sonlandırdığını bildiren Firefox hata kodudur. Sunucu çoğunlukla 443 portunda TLS yerine düz HTTP yanıtı döndüğü için ortaya çıkar. Firefox bu durumda sayfayı yüklemeden aşağıdaki ekranı gösterir:
Secure Connection Failed
An error occurred during a connection to alanadi.com.
SSL received a record that exceeded the maximum permissible length.
Error code: SSL_ERROR_RX_RECORD_TOO_LONG
Kod, Mozilla’nın NSS kütüphanesi tarafından üretilir. Tarayıcı 443 numaralı porta bağlanıp TLS el sıkışmasını başlattığında, karşı taraftan gelen ilk verinin geçerli bir TLS kaydı olmasını bekler. Gelen veri TLS biçiminde değilse kayıt uzunluğu mantıksız derecede büyük görünür ve bağlantı bu kodla sonlandırılır.
Tarayıcı düz metin bir cevabı TLS kaydı olarak yorumlamaya çalıştığında hata tetiklenir. Bu nedenle sorun genellikle sertifikanın kendisinde değil, sunucunun ilgili portta hangi protokolle konuştuğu ayarındadır. Aynı yapılandırma sorunu Chrome ve Edge tarafında ERR_SSL_PROTOCOL_ERROR olarak raporlanır; Firefox yalnızca teknik kodu doğrudan gösterdiği için bu isimle öne çıkar.
SSL_ERROR_RX_RECORD_TOO_LONG Hatası Neden Oluşur?
Hatanın kaynağı tek bir yapılandırma sorununa indirgenemez. Sunucu tarafındaki yanlış tanımlardan ağ katmanındaki müdahalelere kadar birden fazla senaryo aynı mesajı üretebilir. En sık karşılaşılan nedenler şunlardır:
- 443 portunda HTTP servis edilmesi: Sanal host tanımı 443 portunu dinliyor ancak SSL/TLS motoru bu tanım için etkinleştirilmemişse sunucu şifresiz yanıt döner. En klasik senaryo budur.
- SSL modülünün etkin olmaması: Sunucu yazılımında TLS modülü yüklü değilse veya devre dışıysa, port dinlense bile el sıkışma gerçekleşmez.
- Sertifikanın yanlış sanal host’a tanımlanması: Aynı IP üzerinde birden fazla site barındırılıyorsa isteğin yanlış yapılandırma bloğuna düşmesi TLS katmanının hiç devreye girmemesine yol açabilir.
- Proxy veya yük dengeleyici uyumsuzluğu: TLS sonlandırması ters proxy üzerinde yapılırken arka uç sunucunun da HTTPS beklemesi ya da tersi durum protokol uyuşmazlığı oluşturur.
- Port eşleşmesinin bozulması: HTTPS servisi 443 dışında bir portta çalışırken 443’te şifresiz bir servisin dinlemeye devam etmesi aynı sonucu verir.
- Güvenlik duvarı veya ara katman müdahalesi: Kurumsal ağ filtreleri, bazı güvenlik yazılımlarının HTTPS tarama modülleri ve içerik denetleme cihazları trafiği bozarak bu hatayı üretebilir.
Bu nedenlerin ortak paydası, tarayıcının şifreli veri beklediği bir kanaldan şifrelenmemiş veya bozulmuş veri almasıdır. Teşhise başlarken sorulması gereken ilk soru sertifikanın geçerli olup olmadığı değil, sunucunun ilgili portta gerçekten TLS konuşup konuşmadığıdır.
Ziyaretçi Tarafında Yapılabilecek Kontroller
Siteye erişmeye çalışan bir kullanıcıysanız hatanın kaynağı büyük ihtimalle sunucudadır. Yine de yerel bir müdahaleyi elemek için birkaç dakikada uygulanabilecek kontroller vardır.
- Aynı adresi http:// ile açmayı deneyin; sayfa şifresiz olarak sorunsuz yükleniyorsa sorun sunucunun HTTPS yapılandırmasındadır.
- Farklı bir tarayıcıda ve mümkünse mobil veri gibi farklı bir ağ üzerinden deneyin.
- Tarayıcı önbelleğini temizleyip sayfayı yeniden yükleyin.
- Güvenlik yazılımınızdaki HTTPS tarama veya şifreli bağlantı denetimi özelliğini geçici olarak kapatın.
- Sistem veya tarayıcı düzeyinde tanımlı bir proxy varsa devre dışı bırakın.
- Firefox kullanıyorsanız DNS over HTTPS özelliğini geçici olarak kapatıp sayfayı yeniden yükleyin.
- VPN bağlantınız varsa ilgili site için devre dışı bırakmayı deneyin.
- Kurumsal bir ağdaysanız ağ yöneticinize içerik filtreleme uygulanıp uygulanmadığını sorun.
Mozilla’nın Firefox destek belgesi de bu hatanın VPN, DNS over HTTPS, şifreli bağlantıları inceleyen güvenlik yazılımları veya proxy içeren bağlantı ayarları kaynaklı olabileceğini belirtiyor. Bu adımlar sonuç vermiyor ve hata birden fazla cihazda tekrarlanıyorsa durumu site sahibine bildirmek en doğru yaklaşımdır.
Sunucu Tarafında SSL_ERROR_RX_RECORD_TOO_LONG Nasıl Çözülür?
Site sahibi veya sistem yöneticisiyseniz teşhisi tarayıcıdan bağımsız araçlarla yürütmek gerekir. Amaç, sunucunun 443 portunda gerçekten TLS konuşup konuşmadığını doğrulamaktır.
Aşağıdaki adımlar sorunun kaynağını sırayla daraltır.
- Portta TLS konuşulduğunu test edin. openssl s_client -connect alanadi.com:443 -servername alanadi.com komutu el sıkışmanın tamamlanıp tamamlanmadığını ve hangi sertifikanın sunulduğunu gösterir. Komut sertifika zinciri yerine düz HTTP yanıtı veya sürüm uyuşmazlığı uyarısı döndürüyorsa ilgili portta TLS’in etkin olmadığı kesinleşir.
- Sunucuya erişiminiz yoksa dışarıdan test edin. SSL sorgulama aracımıza alan adınızı girerek aynı sonuca ulaşabilir, sertifikanın sunulup sunulmadığını görebilirsiniz.
- 443 portunu hangi sürecin dinlediğini kontrol edin. Birden fazla servisin aynı porta bağlanmaya çalıştığı çakışmalar bu adımda ortaya çıkar.
- Sunucu yazılımınıza özgü yapılandırmayı doğrulayın. Kontrol edilmesi gereken noktalar aşağıdaki tabloda özetlenmiştir.
| Sunucu yazılımı | Kontrol edilecek yapılandırma | Sık görülen hata |
| Apache | SSL modülünün etkinliği, Listen 443 satırı, VirtualHost bloğunda SSLEngine ve sertifika yolları | 443 portunu dinleyen blokta SSLEngine değerinin off kalması |
| Nginx | server bloğundaki listen satırının ssl parametresi ve sertifika yolları | listen 443 yazılıp ssl parametresinin eklenmemesi |
| IIS | Site bağlamaları ve sertifika eşleştirmesi | https bağlaması oluşturulup sertifikanın seçilmemesi |
| Ters proxy veya yük dengeleyici | TLS sonlandırma noktası ve arka uç protokol tanımı | Arka uçta HTTPS beklenirken düz HTTP iletilmesi |
Aynı IP ve port için birden fazla sanal host tanımlıysa, SNI bilgisi eşleşmediğinde sunucu ilk tanımlı bloğu varsayılan olarak kullanır. Varsayılan blok TLS için yapılandırılmamışsa doğru ayarlanmış diğer siteler de aynı hatayı verebilir; bu nedenle 443 portunu dinleyen tüm blokların tutarlı olması gerekir.
Yapılandırmayı değiştirdikten sonra servisi yeniden başlatmadan önce sözdizimi testini çalıştırın. Apache için apachectl configtest, Nginx için nginx -t komutları hatalı bir tanımın servisi tamamen durdurmasını engeller.
Paylaşımlı hosting kullanıyorsanız bu yapılandırmalara erişiminiz olmaz. Bu durumda panel üzerindeki SSL bölümünden sertifikanın ilgili alan adına kurulu göründüğünü doğrulayın ve sonuç alamazsanız hata kodunu, alan adını ve test sonuçlarını belirterek sağlayıcınızın teknik ekibine iletin.
Sertifika ve Yönlendirme Kaynaklı Sorunlar
Yapılandırma doğru görünmesine rağmen hata sürüyorsa sertifika dosyaları ve yönlendirme mantığı incelenmelidir. Sertifika tarafında özel anahtar ile sertifikanın eşleştiğini ve dosyaların okuma izinlerinin sunucu kullanıcısına açık olduğunu doğrulayın. Eşleşmeyen bir anahtar-sertifika çifti genellikle servisin hiç başlamamasına yol açar, bu yüzden servis çalışıyorsa nedeni başka yerde aramak gerekir.
Yönlendirme tarafında en sık karşılaşılan sorun, HTTP’den HTTPS’e yapılan yönlendirmenin döngü oluşturması veya yanlış porta işaret etmesidir. CDN ya da ters proxy arkasında çalışan sitelerde uygulamanın gelen isteği HTTPS olarak algılaması için X-Forwarded-Proto başlığının doğru iletilmesi ve uygulama tarafında okunması gerekir. Aksi halde uygulama sürekli HTTPS’e yönlendirme üretirken proxy trafiği HTTP olarak iletmeye devam eder.
Bu aşamada aşağıdaki adımları sırasıyla uygulayın:
- Özel anahtar ile sertifikanın eşleştiğini doğrulayın.
- Ara sertifika zinciri dosyasını kontrol edin. Eksik zincir genellikle bu hatayı değil otorite doğrulamasıyla ilgili bir hatayı üretir, ancak kontrol etmek teşhisi hızlandırır.
- Sertifika dosyalarının okuma izinlerini gözden geçirin.
- Yönlendirme kurallarını geçici olarak devre dışı bırakıp doğrudan HTTPS erişimini test edin.
- CDN veya proxy katmanının SSL modunu sunucu yapılandırmanızla uyumlu hâle getirin.
SSL_ERROR_RX_RECORD_TOO_LONG Hatası Nasıl Önlenir?
SSL_ERROR_RX_RECORD_TOO_LONG hatası çözüldükten sonra aynı durumun tekrarlanmaması için yapılandırma disiplini ve düzenli izleme gerekir. Özellikle sertifika yenileme süreçleri ve sunucu güncellemeleri risk taşır.
Otomatik sertifika yenileme kullanıyorsanız, yenileme sonrası servisin yeniden yüklenmesini sağlayan kancanın çalıştığını doğrulayın. Sunucu yazılımını güncellediğinizde ise SSL modülünün etkin kalıp kalmadığını ve yapılandırma dosyalarının paket güncellemesiyle değiştirilip değiştirilmediğini kontrol edin. Yapılandırma değişikliklerini sürüm kontrolü altında tutmak ve üretime almadan önce test ortamında denemek, hatalı bir sanal host tanımının canlı siteyi erişilemez hâle getirmesini engeller.
Düzenli kontrollerde 443 portunu izleyen bir uptime kontrolü kurmak ve sertifika zinciriyle desteklenen protokol sürümlerini periyodik olarak test etmek de erken uyarı sağlar. Benzer sertifika ve bağlantı uyarılarının nedenlerini SSL hataları rehberimizde bir arada ele aldık.
