TLS El Sıkışma Hatası çözümü: TLS Sürümü Uyumsuzluğu
Bu hata, istemcinizin (Python uygulamanız) ve sunucunuzun (API) desteklediği TLS protokol sürümlerinin uyumsuz olduğunu gösterir. Hata mesajında belirtilen TLSV1_ALERT_PROTOCOL_VERSION, istemcinizin sunucuya TLS 1.0 veya 1.1 ile bağlanmaya çalıştığını, ancak sunucunun bunu reddederek minimum TLS 1.2 sürümünü beklediğini belirtir.
OpenSSL kütüphaneniz güncel olsa bile, Python'ın kullandığı requests veya urllib3 gibi kütüphanelerin eski sürümleri, varsayılan olarak modern TLS sürümlerini kullanmayabilir. Sorununuzu çözmek için aşağıdaki adımları uygulayın:
1. Kütüphane Güncellemelerini Kontrol Edin
Kullanılan kütüphanelerin güncel olduğundan emin olun. Özellikle requests kütüphanesi ve onun bağımlılığı olan urllib3'ün son sürümde olması, TLS 1.2 ve 1.3 desteği için önemlidir. Sunucunuzda bu komutu çalıştırın:
pip install --upgrade requests urllib3
2. Sunucunun İşletim Sistemi ve Python Sürümü
Farklı bir sunucuda çalışmamasının nedeni, o sunucudaki Python sürümünün veya işletim sisteminin varsayılan ssl ayarlarının daha eski olması olabilir. Güncel OpenSSL 1.1.1 sürümünün yüklü olduğundan ve Python'ın bu sürümü kullandığından emin olun.
3. TLS Sürümünü Açıkça Belirtmek
Eğer kütüphane güncellemesi sorunu çözmezse, bağlantı kurarken SSL bağlamını (context) oluşturup minimum TLS sürümünü açıkça TLS 1.2 olarak belirtebilirsiniz. Bu, uygulamanızın her zaman en az TLS 1.2 ile bağlanmaya çalışmasını sağlar.