0

Dropwizard的configuration.yml文件应该保存在哪里?

我正在使用 Dropwizard,它是一个 Java Web 框架。Dropwizard 使用 configuration.yml 文件加载环境特定的配置文件。在我在网上找到的示例中,configuration.yml 文件包含数据库的用户名和密码。现在的问题是在哪里保存包含纯文本密码的配置文件。

选项 1 GIT 存储库 在示例中,configuration.yml 是项目的一部分。因此,可以将它们与其余代码一起保存在 git 存储库中。这是一种众所周知的不良安全做法。如果有人破解了 git 存储库,则可以访问代码和数据库。同样这样,每个开发人员都可以访问所有环境的所有密码。

选项 2 计算机上的文件 将 configuration.yml 保存在计算机上,但不要存储在 git 存储库中

选项 3 环境变量 使用 configuration.yml 文件,该文件指向特定机器上的环境变量。这不太实用,因为所有这些环境变量都需要在所有机器上手动设置。在 Dropwizard 的 configuration.yml 文件中使用 ENVIRONMENT VARIABLES 的语法是什么?

4

2 回答 2

1

如果您无法控制对配置文件的读取访问权限或担心您的机器归不受信任的第三方所有,我会使用环境变量。

环境变量对脚本来说是微不足道的。

于 2013-09-28T07:29:22.130 回答
1

您应该使用计算机上的文件:这就是有多少框架可以工作。如果您使用 unix/linux 服务器,您可以chmod 0600 [filename]确保没有人(几乎没有人作为 root 可以做任何事情)可以读取该文件。在 dropwizard ML 中,还提到使用 puppet/chef 之类的软件来部署您的应用程序并使用这些框架来处理所有变量(例如:测试/登台/生产的不同配置)。

再见皮耶罗

于 2013-10-10T12:23:06.720 回答