gpt4 book ai didi

python - 如何在 Heroku 上存储私钥?

转载 作者:太空狗 更新时间:2023-10-29 21:27:01 24 4
gpt4 key购买 nike

我有一个托管在 Heroku 上的 Flask 应用程序,它需要使用 boto.cmdshell 在 AWS EC2 实例 (Amazon Linux AMI) 上运行命令。几个问题:

  1. 使用 key 对访问 EC2 实例是最佳做法吗?还是使用用户名/密码更好?
  2. 如果使用 key 对是首选方法,那么在 Heroku 上管理/存储私钥的最佳做法是什么?显然将私钥放在 git 中不是一种选择。

谢谢。

最佳答案

Heroku 让您可以利用 config variables管理您的应用程序。这是我的 flask 应用程序中的 config.py 文件的示例:

import os

# flask
PORT = int(os.getenv("PORT", 5000))
basedir = str(os.path.abspath(os.path.dirname(__file__)))
SECRET_KEY = str(os.getenv("APP_SECRET_KEY"))
DEBUG = str(os.getenv("DEBUG"))
ALLOWED_EXTENSIONS = str(os.getenv("ALLOWED_EXTENSIONS"))
TESTING = os.getenv("TESTING", False)

# s3
AWS_ACCESS_KEY_ID = str(os.getenv("AWS_ACCESS_KEY_ID"))
AWS_SECRET_ACCESS_KEY = str(os.getenv("AWS_SECRET_ACCESS_KEY"))
S3_BUCKET = str(os.getenv("S3_BUCKET"))
S3_UPLOAD_DIRECTORY = str(os.getenv("S3_UPLOAD_DIRECTORY"))

现在我可以得到两组不同的结果。它来 self 的 Environment variables .一个是当我的应用程序在我的本地计算机上并且在生产时来自 Heroku 配置变量。例如。

 DEBUG = str(os.getenv("DEBUG")) 

在我的本地计算机上为“TRUE”。但是在 Heroku 上是错误的。为了检查您的 Heroku 配置运行。

Heroku config

另请记住,如果您想将项目的某些文件保留在本地而不是在 heroku 或 github 上,您可以使用 git ignore .当然,这些文件不会存在于您的生产应用程序中。

关于python - 如何在 Heroku 上存储私钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14177039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com