본문 바로가기
개발로그/Python

없어져라! SSL 문제 해결을 위한 실전 대응 북

by 그리너리디밸로퍼 2025. 3. 16.

아...x치겠다..

SSL 오류는 진짜 말없이 멈추고, 또 어디가 문제인지 분명하지 않아서 정말 스트레스 포인트.크아아아아아아아아아아아아아아아아아아아아아아아아

 

SSL 오류 종류들:

csharp
복사편집
[SSL: WRONG_VERSION_NUMBER]
[SSL: ENCRYPTED_LENGTH_TOO_LONG]
[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC]

→ 공통점: 인터넷은 연결되지만, 암호화 프로토콜(TLS/SSL)에서 handshake 실패

 

 



✅ 2️⃣ 가장 많이 해결되는 방법 (순서대로 해보자) 중간에 어디서 해결될지 나도 몰라.

🔸 (1) 환경변수 프록시 제거

python
복사편집
import os os.environ.pop("HTTPS_PROXY", None) os.environ.pop("HTTP_PROXY", None)

✅ 다시 start_radio.py 최상단에 넣는 걸 강력히 추천합니다.


🔸 (2) certifi, requests, urllib3 업데이트

bash
복사편집
pip install --upgrade certifi requests urllib3

이건 루트 인증서, TLS 버전 호환성 개선입니다.


🔸 (3) OpenSSL 업데이트 (Anaconda 사용자일 경우)

bash
복사편집
conda update openssl

✅ 매우 중요합니다. 내부적으로 Python이 사용하는 TLS 핸드쉐이크가 OpenSSL 기반입니다.


🔸 (4) 파이썬 재설치 (심각할 경우)

  • 일부 시스템에서는 내장 OpenSSL이 손상되어 있는 경우가 있어요.
  • 이 경우 파이썬 완전 제거 후 재설치로 해결됩니다.

✅ 3️⃣ 네트워크 환경 확인

항목해결 방법

프록시 / 방화벽 / VPN 모두 잠시 비활성화 후 재시도해보세요
사내망, 공공망 사용 ➝ 개인 핫스팟으로 테스트
공유기 문제 공유기 리부팅 or 유선 연결 시도

👉 다른 네트워크 (예: 모바일 핫스팟) 에서 테스트하면 문제가 확연히 보입니다.


✅ 4️⃣ 테스트 스크립트로 SSL 원인 명확히 진단

python
복사편집
import requests try: r = requests.get("https://www.googleapis.com/drive/v3/files") print("✅ SSL 테스트 통과 (정상 연결)") except requests.exceptions.SSLError as ssl_err: print(f"❌ SSL 오류 발생: {ssl_err}")

→ 이 테스트가 실패한다면 시스템 SSL 문제가 확실합니다.


✅ 5️⃣ 비상 대책 (매우 예외적 경우)

✅ requests에서 SSL 인증 무시 (⚠ 위험하므로 최후수단)

python
복사편집
requests.get(url, verify=False)

➡ 보안상 위험하므로 운영 환경에서는 권장하지 않습니다.


✅ 보너스 해결 사례 (다른 유저 경험)

  • 윈도우에서 SSL: WRONG_VERSION_NUMBER 계속 발생 → 프록시 사용 안함 + certifi 재설치로 해결
  • DECRYPTION_FAILED... 오류 → conda update openssl 한 번으로 해결
  • 일부는 DNS 문제도 있음 → 8.8.8.8 (Google DNS) 변경으로 해결되기도 합니다.

✅ 마무리 요약: 추천 해결 순서

1️⃣ os.environ.pop() 코드 넣기
2️⃣ pip install --upgrade certifi requests urllib3
3️⃣ conda update openssl
4️⃣ 다른 네트워크 테스트
5️⃣ 그래도 안 되면 → 파이썬 재설치

728x90

댓글