Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSLEOFError: EOF occurred in violation of protocol #43

Closed
oortega opened this issue Aug 1, 2018 · 8 comments
Closed

SSLEOFError: EOF occurred in violation of protocol #43

oortega opened this issue Aug 1, 2018 · 8 comments

Comments

@oortega
Copy link

oortega commented Aug 1, 2018

Hola,

Recientemente obtengo el error mencionado, ya intenete actualizar request como meciona aqui:
psf/requests#3006 (comment) pero el problema persiste.

En algunas ocasiones genera este error, alguna idea del problema?

TraceBack

`SSLEOFError: EOF occurred in violation of protocol (_ssl.c:581)
  File "celery/app/trace.py", line 367, in trace_task
    R = retval = fun(*args, **kwargs)
  File "celery/app/trace.py", line 622, in __protected_call__
    return self.run(*args, **kwargs)
  File "wisp/tasks.py", line 637, in generar_facturas_automaticamente
    factura_cliente = crear_nueva_factura(empresa, cliente, cliente.user.perfilusuario.descuento, user_admin[0])
  File "wisp_factura/views.py", line 2293, in crear_nueva_factura
    recibo_oxxo = generar_recibo_oxxo(nueva_factura, empresa)
  File "wisp_cliente/views.py", line 767, in generar_recibo_oxxo
    "type": "oxxo_cash"
  File "conekta/__init__.py", line 201, in create
    return cls(cls.load_url(endpoint, method='POST', params=params, api_key=api_key))
  File "conekta/__init__.py", line 112, in load_url
    response = cls.build_http_request(method, path, params, _api_key = api_key)
  File "conekta/__init__.py", line 84, in build_http_request
    headers, body = request(absolute_url, method, headers=HEADERS, body=json.dumps(params))
  File "httplib2/__init__.py", line 1659, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "httplib2/__init__.py", line 1399, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "httplib2/__init__.py", line 1319, in _conn_request
    conn.connect()
  File "httplib2/__init__.py", line 1069, in connect
    self.ssl_version, self.host)
  File "httplib2/__init__.py", line 97, in _ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=hostname)
  File "gevent/_sslgte279.py", line 68, in wrap_socket
    _context=self)
  File "gevent/_sslgte279.py", line 270, in __init__
    raise x`

paquetes instalados:
requests==2.12.4
pyOpenSSL==18.0.0
ndg-httpsclient==0.5.0
conekta==2.3.4
cryptography==2.2.2
pyasn1==0.4.3

Gracias por la ayuda.

@edenriquez
Copy link

Asegurate de que todos los requests usen TLSv1.2, que tu servidor tenga soporte para el protocolo, parece que requests tiene problemas con apis que pasan por vpn's como explican aqui psf/requests#3006 (comment) déjame revisar el issue con la parte de infra del api

@oortega
Copy link
Author

oortega commented Aug 10, 2018

disculpa pero como reviso esto?: Asegurate de que todos los requests usen TLSv1.2, que tu servidor tenga soporte para el protocolo

@edenriquez
Copy link

@oortega puedes correr este comando

openssl ciphers -v | awk '{print $2}' | sort | uniq

y debes tener algo asi como respuesta
SSLv3
TLSv1.2

sin embargo creo que el problema podria ser con la vpn de nuestro servicio en este caso no se si al pasar por los balanceadores la conexion se interrumpe

@edenriquez
Copy link

edenriquez commented Aug 10, 2018

@oortega ya confirme con infraestructura que este error no es por pasar la conexión por los balanceadores del api.

con que frecuencia obtienes ese error ?
podrias hacer upgrade de la lbreria a la latest ?; es decir la version 2.19 https://pypi.org/project/requests/

UPDATE: con el agente de la libreria 2.12.4 hemos recibido con error 7 requests mal formados, no estamos captando los de ssl, seria excelente si nos pudieras comentar que tan frecuente es esto ? para poder determinar si antes de que llegue a nosotros se rompe la conexión

@oortega
Copy link
Author

oortega commented Aug 10, 2018

digamos que 1 de cada 10. Este error igual me pasa con otras API por ejemplo Payu.

Ya ejecuete el comando de arriba y obtengo esto:
SSLv3
TLSv1.2

@JoValo
Copy link

JoValo commented Sep 24, 2019

Hola @oortega el problema persiste?

@leofischer
Copy link
Member

@oortega - sigues con este problema? Sino para cerrar este issue. Si está pasando igual con otros proveedores me suena ser algo más de red o algún agente de seguridad. Veo casos parecidos aquí psf/requests#3605 y https://stackoverflow.com/questions/33410577/python-requests-exceptions-sslerror-eof-occurred-in-violation-of-protocol, pero nada conclusivo suponiendo que está bien instalado ndg-httpsclient y pyopenssl.

@leofischer
Copy link
Member

Voy a cerrar este issue de momento, nos pueden contactar si vuelva a ocurrir

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants