15

12 要素アプリは、構成を環境に保存することが想定されています。

これは、「大きい」(少なくとも kb の倍数) 可能性がある SSL 証明書とキー ファイルを含めることを意図しており、(形式によっては) 印刷できない文字 (少なくとも改行) を含むことがよくあります。

または、証明書/キー ファイル名を指すだけの環境が期待されていますか? (たとえば、Docker 経由でデプロイしようとする場合、これはおそらく理想的ではないように思われます。実際には、秘密鍵を Docker イメージに保存したくありませんよね? しかし、それは別の問題かもしれません。)

4

3 に答える 3

1

私は 12 要素アプリのベスト プラクティスの専門家ではありません。ただし、12-factor app config に関するリンクされた記事から、環境変数を使用してプログラムの構成可能な側面を識別することが規定されているように思えます。

おそらくSSL_CERT_FILESSL_KEY_FILE環境変数はそれぞれのファイルへのパスとして読み取られるため、ファイルが異なる場所にあるさまざまな環境で簡単にオーバーライドできます。

私は個人的に、追加の構成を必要とせずに「そのまま動作する」ソフトウェアが好きなので、証明書とキーファイルを実行可能ファイル自体に埋め込むことを検討することもできます (それが可能であれば)。環境または特定のアプリケーションで必要な場合は、プログラムの別の証明書/キー ファイルの場所を指定することもできます。

于 2017-12-13T17:45:24.703 に答える
-1

さまざまな種類の構成要素があります。12 要素アプリが構成を環境に保存する動機は、特定の目標のためです。つまり、新しい環境の別の場所に簡単に再展開できるようにすることです。したがって、この目標に貢献する構成要素のみが環境に移行する資格があります。他のドメインまたはアプリケーション固有の構成要素は、選択したアプリケーションのローカルまたはテクノロジ固有の構成方法にバンドルされたままにすることができます。

SSL証明書の場合、これらは環境ごとに変わらないように見えるため、それらを環境変数IMOに保持する必要はありません。

于 2016-05-18T15:17:24.103 に答える