在 Gunicorn 中配置 HTTPS 证书路径,您可以通过以下两种主要方式实现:

1. 使用命令行参数

在启动 Gunicorn 时,使用 --certfile--keyfile 参数分别指定证书文件和私钥文件的路径。

gunicorn --bind 0.0.0.0:443 --certfile /path/to/cert.pem --keyfile /path/to/privkey.pem your_app:app

2. 使用配置文件

创建一个 Gunicorn 配置文件(例如 gunicorn.conf.py),在其中指定证书路径:

# gunicorn.conf.py

bind = '0.0.0.0:443'
certfile = '/path/to/cert.pem'
keyfile = '/path/to/privkey.pem'

然后,通过以下命令启动 Gunicorn,指定配置文件:

gunicorn -c gunicorn.conf.py your_app:app

注意事项

  • 文件路径:确保提供的证书和私钥文件路径是正确的绝对路径。
  • 文件权限:确保证书和私钥文件的权限设置正确,防止 Gunicorn 进程无法读取。通常,建议将文件权限设置为仅对运行 Gunicorn 的用户可读。
  • 证书格式:Gunicorn 通常支持 PEM 格式的证书和私钥文件。
  • 端口绑定:使用 HTTPS 时,需要绑定到 443 端口。如果使用非 root 用户运行 Gunicorn,可能需要使用高于 1024 的端口,或者通过 setcap 命令赋予 Gunicorn 进程绑定低端口的权限。
  • 证书来源
    • 自签名证书:适用于测试环境,但在浏览器中会显示安全警告。
    • 受信任的 CA 颁发的证书:适用于生产环境,例如从 Let’s Encrypt 获取的免费证书。

示例

假设您的证书文件 cert.pem 和私钥文件 privkey.pem 存放在 /etc/ssl/certs 目录下,使用命令行参数配置 HTTPS 的示例如下:

gunicorn --bind 0.0.0.0:443 --certfile /etc/ssl/certs/cert.pem --keyfile /etc/ssl/certs/privkey.pem your_app:app

通过以上步骤,您就可以成功在 Gunicorn 中配置 HTTPS 证书路径,使您的应用程序通过安全的 HTTPS 协议提供服务。

在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐