python - flask letsencrypt
AttributeError: el objeto ''Context'' no tiene atributo ''wrap_socket'' (1)
A partir del 0.10, Werkzeug ya no admite contextos OpenSSL. Esta decisión se tomó porque es más fácil admitir ssl.SSLContext
en las versiones de Python. Tu opción para volver a escribir este código es esta:
if __name__ == "__main__":
context = (''cert.crt'', ''key.key'')
app.run(host=''0.0.0.0'', port=80, ssl_context=context, threaded=True, debug=True)
Ver http://werkzeug.pocoo.org/docs/0.10/serving/ para todas las posibilidades.
Intento configurar un servidor Flask que use un contexto OpenSSL. Sin embargo, dado que moví el script en un servidor diferente, sigue arrojando el siguiente error, sin importar si estoy usando Python 2.7 o 3.4 y sin importar qué método SSL elegí (SSLv23 / TLSv1 / ...):
File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/usr/lib/python3.4/threading.py", line 868, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.4/dist-packages/werkzeug/serving.py", line 602, in inner
passthrough_errors, ssl_context).serve_forever()
File "/usr/local/lib/python3.4/dist-packages/werkzeug/serving.py", line 506, in make_server
passthrough_errors, ssl_context)
File "/usr/local/lib/python3.4/dist-packages/werkzeug/serving.py", line 450, in __init__
self.socket = ssl_context.wrap_socket(self.socket,
AttributeError: ''Context'' object has no attribute ''wrap_socket''
El siguiente código:
if __name__ == "__main__":
context = SSL.Context(SSL.SSLv23_METHOD)
context.use_privatekey_file(''key.key'')
context.use_certificate_file(''cert.crt'')
app.run(host=''0.0.0.0'', port=80, ssl_context=context, threaded=True, debug=True)
¡Muchas gracias por adelantado! Estoy feliz por cualquier ayuda