letsencrypt en GAE con web2py

39 views
Skip to first unread message

Jacinto Parga

unread,
Dec 7, 2015, 4:34:50 AM12/7/15
to web2py-usuarios
Hola,

estoy tratando de utilizar los certificados ssl generandos por letsencrypt (https://letsencrypt.org) en una aplicación con dominio propio instalada en GAE (google appengine) y creada con web2py.

Este post explica muy bien cómo hacerlo: http://blog.seafuj.com/lets-encrypt-on-google-app-engine

He dado todos los pasos y funciona todo perfectamente en un caso en el que no utilice la google appengine. Para lograr mi objetivo necesito crear una vista del tipo: http://www.example.com/.well-known/acme-challenge/[challenge]

Donde example.com es el dominio propio que utilizo en la google app engine. No consigo crear esa vista poniendo como controlador .well-known/acme-challenge

En otras palabras, me gustaría saber cómo hacer que el siguiente código funcione con web2py:
class LetsEncryptHandler(RequestHandler):

   
def get(self, challenge):
       
self.response.headers['Content-Type'] = 'text/plain'
        responses
= {
                   
'[challenge 1]': '[response 1]'
                   
'[challenge 2]': '[response 2]'
               
}
       
self.response.write(responses.get(challenge, ''))

application
= WSGIApplication([
   
('/.well-known/acme-challenge/([\w-]+)', LetsEncryptHandler),
])

Alguna idea?

Muchas gracias

Jacinto Parga

unread,
Dec 14, 2015, 7:39:54 AM12/14/15
to web2py-usuarios
Ya está solucionado. No tiene que ver con web2py. Lo arreglé con la propia configuración de Letsencrypt.

Gracias

Jacinto Parga

unread,
Mar 6, 2016, 2:40:11 PM3/6/16
to web2py-usuarios
Hola, 

de todos modos, la mejor forma que he encontrado para renovar el certificado de una aplicación instalada en GAE, es utilizando un redireccionamiento con routes.py y un control de errores. Algo así:

En el routes.py


routes_onerror = [
    ('myapp/*', '/myapp/default/error_handler')
]

En el controlador error_handler :

def error_handler():
...
  requested_uri = request.vars.requested_uri
  if str(requested_uri)[:28] == "/.well-known/acme-challenge/" :
            redirect("http://mysite/filewithaccesstoletsencrypt.txt")
...


El lunes, 7 de diciembre de 2015, 10:34:50 (UTC+1), Jacinto Parga escribió:

Luis Díaz

unread,
Mar 10, 2016, 7:18:30 PM3/10/16
to web2py-...@googlegroups.com
amigo una pregunta, para configurar letsencrypt, usando un servidor privado
requieres hacer lo mismo?

estoy con apache,en un vps, en plena implantación de un sitio nuevo y
me gustaría usar esa herramienta
ojo ejecuto setup-web2py-ubuntu.sh para instalar web2py
> --
> Has recibido este mensaje porque estás suscrito al grupo "web2py-usuarios"
> de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a web2py-usuari...@googlegroups.com.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
http://www.about.me/diazluis
Analista Programador
Debian, Python, Web2py, Javascript, Html,

Jacinto Parga

unread,
Mar 20, 2016, 2:24:34 PM3/20/16
to web2py-usuarios
Hola, 

disculpa la tardanza en la respuesta.

No, es más sencillo. Para configurar letsencrypt hay que almacenar en el servidor una clave que nos facilitan y a la que acceden desde una dirección que ellos mismos generan. Por tanto, debes tener acceso al servidor para poder almacenar en él un fichero de texto con el contenido que te facilitan desde letsencrypt, y así verifican que eres el propierario del dominio.

En el caso de que el dominio se sirva desde la Google App Engine, como es mi caso, lo que hago es redireccionar desde GAE a mi servidor la consulta que me hacen desde letsencrypt, y de este modo lo he solucionado tal y como explico.

Espero que te sirva de ayuda. Saludos
Reply all
Reply to author
Forward
0 new messages