如何让 Web 服务器 Gunicorn 在不以 root 身份运行的情况下使用 0.0.0.0:443(用于 HTTPS)?

如何让 Web 服务器 Gunicorn 在不以 root 身份运行的情况下使用 0.0.0.0:443(用于 HTTPS)?

我正在尝试在 Gunicorn 上通过 HTTPS 运行 Flask 应用程序。

到目前为止,我已经使用以下命令通过 HTTP 成功运行它:

gunicorn --workers=4 "program.__main__:WSGI()" --bind=0.0.0.0:8080

现在我尝试使用以下命令通过 HTTPS 运行它:

gunicorn --workers=4 "program.__main__:WSGI()" --bind=0.0.0.0:443 --certfile=fullchain.pem --keyfile=privkey.pem

当我以普通用户身份运行此程序时,我得到如下输出:

[2018-08-13 21:26:28 +0000] [15170] [INFO] Starting gunicorn 19.9.0
[2018-08-13 21:26:28 +0000] [15170] [ERROR] Retrying in 1 second.
[2018-08-13 21:26:29 +0000] [15170] [ERROR] Retrying in 1 second.
[2018-08-13 21:26:30 +0000] [15170] [ERROR] Retrying in 1 second.
[2018-08-13 21:26:31 +0000] [15170] [ERROR] Retrying in 1 second.
[2018-08-13 21:26:32 +0000] [15170] [ERROR] Retrying in 1 second.
[2018-08-13 21:26:33 +0000] [15170] [ERROR] Can't connect to ('0.0.0.0', 443)

作为 root,它可以工作,但我不愿意以 root 身份运行 Web 服务器。我应该如何安全地运行它?

相关内容