Gunicorn не может получить доступ позволяет шифровать файлы

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

Как разрешить gunicorn доступ к этим файлам? По какой-то причине он не работает, и простое изменение разрешений chmod не поможет, потому что certbot в конце концов изменит их обратно.

Файлы certbot принадлежат одной личности (обычно root). Вы запускаете Gunicorn под другим именем. Ключевым моментом является предоставление разрешения идентификатору Gunicorn на чтение файлов Let's Encrypt. Обычно вы можете добавить имя пользователя Gunicorn к имени группы Let's Encrypt и сделать файлы доступными для чтения этой группой.

Пример команды:

sudo usermod -a -G groupname username

Идентификатор имя пользователя должен повторно войти в систему после изменения членства в группе. Проще просто перезапустить систему.

Другой способ (не рекомендуется) - запустить Gunicorn как привилегированный процесс. Это связано с риском для безопасности.

Вернуться на верх