es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Gunicorn no puede acceder a los archivos de Let’s Encrypt.

(venv) ubuntu@ip-172-31-6-77:~/redrebelgames_python$ gunicorn redrebelgames_python.wsgi:application
[2021-11-25 20:01:09 +0000] [3758] [INFO] Iniciando gunicorn 20.1.0
Traceback (most recent call last):
  Archivo "/home/ubuntu/redrebelgames_python/venv/bin/gunicorn", línea 8, en <module>
    sys.exit(run())
  Archivo "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", línea 67, en run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  Archivo "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/app/base.py", línea 231, en run
    super().run()
  Archivo "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/app/base.py", línea 72, en run
    Arbiter(self).run()
  Archivo "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", línea 198, en run
    self.start()
  Archivo "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", línea 155, en start
    self.LISTENERS = sock.create_sockets(self.cfg, self.log, fds)
  Archivo "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/sock.py", línea 162, en create_sockets
    raise ValueError(‘certfile "%s" does not exist’ % conf.certfile)
ValueError: certfile "/etc/letsencrypt/live/api.redrebelgames.com/cert.pem" no existe

¿Cómo permito que gunicorn acceda a estos archivos? Por alguna razón, no funciona y simplemente cambiar los permisos chmod no funciona porque certbot eventualmente los volverá a cambiar.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para permitir que gunicorn acceda a los archivos de certificado, puede intentar cambiar la propiedad de los archivos usando el comando chown. Por ejemplo, si el propietario de los archivos de certificado es ‘root’, puede cambiar la propiedad al usuario que ejecuta gunicorn, así:

    sudo chown usuario:usuario /etc/letsencrypt/live/api.redrebelgames.com/*
    

    Reemplace ‘usuario’ con el nombre de usuario real del usuario que ejecuta gunicorn. Esto le dará al usuario permiso para leer los archivos de certificado.

    Si esto no funciona, puede intentar copiar los archivos de certificado a una ubicación donde gunicorn pueda acceder a ellos, y usar las opciones --certfile y --keyfile para especificar la ubicación de los archivos de certificado:

    gunicorn --certfile /ruta/a/cert.pem --keyfile /ruta/a/privkey.pem redrebelgames_python.wsgi:application
    

    Reemplace ‘/ruta/a/cert.pem’ y ‘/ruta/a/privkey.pem’ con las rutas reales a los archivos de certificado.

    Tenga en cuenta que si copia los archivos de certificado a una ubicación diferente, es posible que también deba actualizar la ubicación en su configuración de nginx o apache.

Comments are closed.