2016-12-05 25 views
0

私のアプリはスタンドアローンのフロントエンドとしてReactjs上で動作しています。 はので、私は私のproductionサーバー上のprocess.env変数へのアクセス権を与える環境のファイルを見つけることができなかったことを除いて順調に働いていたこのUbuntu上のノードサーバー内の "process.env"変数にアクセスできる環境ファイルはどこにありますか?

https://medium.com/@cameronbwhite90/deploy-react-webpack-to-digital-ocean-with-nginx-and-github-b83d1cf4be0b#.fcwshwi7z

すべて、次の私のアプリを導入しました。

この1つでprocess.env.NODE_ENVは私のアプリでうまくいきます。 しかし、私はこのような新しいenv変数を作成する方法を私のアプリ内でprocess.env.SECRET_TOKEN私は把握することはできません。

私は~/.pam_environmentを試しましたが、うまくいかなかったようです。 だから誰もこれのための解決策を知っていますか?

ありがとうございました。

編集は、私はちょうど私のAPIサーバーの私のSECRET_TOKENでユーザーの権利を検証するためにそれを使用する必要がprocess.env.SECRET_TOKEN

オフ目的を追加します。

+0

秘密トークンが実際に秘密であることの重要性に応じて、それを環境変数で定義することは最良の考えではないかもしれません。おそらく、正確に何をしようとしているかについてもう少し詳細を提供するために質問を編集できますか? – Nico

+0

@Nicoはすでに追加されています – user3403614

答えて

1

dotenvプロジェクトを参照してください。次に、あなたのコードにする必要があるすべてがある

SECRET_TOKEN="very secret token" 

を::

require('dotenv').config(); 

は何をする必要があるでしょう、このような内容で、プロジェクトのルートディレクトリに.envファイルを追加することです

あなたは完了です。 process.env.SECRET_TOKENが定義される。 .gitignoreファイルに.envを追加してください(gitを使用している場合)。機密情報を入力しないようにしてください。

+0

プロダクションサーバーに '.env'ファイルを作成するのは良い考えですね。私はちょっと心配しています。 – user3403614

+0

はい、サーバーにsshし、その '.env'ファイルを手動で作成する必要があります。後でそれをCI/CDシステムの一部にすることができます。 また、ドットファイルをURLで取得できないようにする必要があります。 .envファイルが静的ファイルディレクトリにないことを確認してください。また、nginxをリバースプロキシとして使用している場合は、[this](https://news.ycombinator.com/item?id=9952850)を参照してください。 – mkhanoyan

関連する問題