Tampaknya Acak ssl.SSLError: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 memperingatkan kesalahan internal

Tujuan: Untuk mengautentikasi ke dalam API secara konsisten menggunakan pustaka permintaan python secara lokal.

Saat ini, saya berhasil mengautentikasi pada bagian acak selama 20-30 menit sepanjang hari. Upaya yang tersisa menerima kesalahan:

ssl.SSLError: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error

Selain itu, ketika saya mendorong ini ke AWS dan mengeksekusi dari sana--tidak ada masalah.

Jejak:

  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 382, in _make_request
    self._validate_conn(conn)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connection.py", line 411, in connect
    self.sock = ssl_wrap_socket(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\util\ssl_.py", line 428, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\util\ssl_.py", line 472, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "C:\Users\Austin\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\Austin\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\Austin\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1123)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\util\retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='blacknotchportal.com', port=443): Max retries exceeded with url: /Bnotchsvc/Bnotchsvc.svc/Login (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1123)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 169, in api_auth
    resp_login = requests.post(url + "/Login", json=login_params)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\api.py", line 119, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='blacknotchportal.com', port=443): Max retries exceeded with url: /Bnotchsvc/Bnotchsvc.svc/Login (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1123)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 43, in main
    token = api_auth(url, login_params)
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 175, in api_auth
    raise Exception("Exception occurred during auth, check logs for details")
Exception: Exception occurred during auth, check logs for details

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 382, in _make_request
    self._validate_conn(conn)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connection.py", line 411, in connect
    self.sock = ssl_wrap_socket(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\util\ssl_.py", line 428, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\util\ssl_.py", line 472, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "C:\Users\Austin\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\Austin\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\Austin\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1123)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\urllib3\util\retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='blacknotchportal.com', port=443): Max retries exceeded with url: /Bnotchsvc/Bnotchsvc.svc/Login (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1123)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 169, in api_auth
    resp_login = requests.post(url + "/Login", json=login_params)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\api.py", line 119, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\Austin\Desktop\Code\atlas\venv\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='blacknotchportal.com', port=443): Max retries exceeded with url: /Bnotchsvc/Bnotchsvc.svc/Login (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1123)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 265, in <module>
    main()
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 46, in main
    token = api_auth(url, login_params)
  File "C:/Users/Austin/Desktop/Code/atlas/src/main.py", line 175, in api_auth
    raise Exception("Exception occurred during auth, check logs for details")
Exception: Exception occurred during auth, check logs for details

Saya telah mencoba semua solusi lain yang dapat saya temukan: versi python, versi OPENSSL, firewall windows, mengubah standar kripto, memaksa versi TLS yang berbeda, dll.

piton 3.8; permintaan==2.25.1

import ssl
print(ssl.OPENSSL_VERSION)

OpenSSL 1.1.1g  21 Apr 2020

Kode:

import requests
import json
import logging


def api_auth(url: str, login_params: dict) -> str:
    """
    :param url: url to call
    :param login_params: parameters required for login
    :return: a token for auth in future api calls
    """
    try:
        resp_login = requests.post(url + "/Login", json=login_params)
        resp_data = json.loads(resp_login.text)
        print(resp_data)
        token = str(resp_data["token"])
    except Exception as e:
        logging.exception("Exception occurred during auth")
        raise

    return token


try:
    token = api_auth(url, login_params)
except:
    logging.info('attempting reauth')
    token = api_auth(url, login_params)


person Austin    schedule 21.03.2021    source sumber


Jawaban (1)


Ini ternyata merupakan masalah sisi server dengan penyedia data. Fakta bahwa versi AWS saya berfungsi membuat saya bingung.

URL yang saya tekan sudah tidak digunakan lagi sehingga menyebabkan masalah koneksi terputus-putus karena tidak lagi didukung.

person Austin    schedule 26.03.2021