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.
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í: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: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.