12

これが Node.js と Express の問題になるとは思いもしませんでしたが、気まぐれで、Node.js Express プロジェクトのソース ファイルの 1 つの場所をブラウザーに入力することにしました。

http://www.mywebsite.com/mynodejsapp/app.js

恐ろしいことに、私のアプリケーションのソース コードがすぐに表示され、公開されてすべての人に公開されました。

それはさておき、Node.js / Expressでそれを止めるにはどうすればよいですか?

私のセットアップ コードは非常に簡単です。

var app = express();
app.configure(function() {
    app.use(express.static('/home/prod/server/app/public'));
});
app.listen(8888);

明確にするために、これは私のフォルダー構造がどのように見えるかです:

/home/prod/server/
/home/prod/server/app.js
/home/prod/server/public/

パブリック アクセスを目的としたあらゆる種類のさまざまなファイルが .xml の下に存在し/publicます。私のサーバー ソース コードはすべて の下/server/にあります。Express の静的フォルダー構成についての私の理解では、静的フォルダーは、Express がファイル システムからファイルを喜んで提供する唯一の場所です。

何か案は?

4

1 に答える 1

10

あなたが投稿したものから、入力した URL が Apache/nginx/... などによって提供されているような匂いがし、ノード アプリをドキュメント ルート内に配置しました。この場合 (および同様の場合) の答えは簡単です。

ソースコード ファイルをドキュメント ルートまたは別の HTTP アクセス可能なフォルダーに配置することは決してありません。あなたの場合、/home/prod/server/app/publicクライアント側のもの(HTML、CSS、グラフィックス、(縮小された)クライアント側のJS)のみを含める必要があり、nginxはこのフォルダーの上にドキュメントルートとして何も持たないでください。

于 2012-12-12T22:24:54.717 に答える