1

LAN内のラズベリーパイで実行されているnode.jsアプリケーションがあります。しかし、今はウェブからアクセスしたいと思っています。http と https の両方を介して nginx サーバーを実行し、コンテンツを提供しています。

https/ssl エンドポイントの場合、単純な非ワイルドカード証明書があります。これにより、私は www.foo.com と foo.com に制限されます。だから私はnodeapp.foo.comを行うことができません。だから私のプランBはfoo.com/nodeappを作ることです。

私はこれを設定しましたが、動的コンテンツでは問題なく動作しますが、生成された html で使用される URL が例を指しているため、静的コンテンツは読み込まれません。foo.com/nodeapp/js/jquery.js の代わりに foo.com/js/jquery.js

これを設定する方法について誰かが私に指針を与えることができますか?私はあらゆる種類のもの(nginxでのURL書き換え、node.jsでのURL書き換え)を試しましたが、道に迷っています。

4

1 に答える 1

1

あなたの質問を理解しているように、Node アプリから静的コンテンツを提供しています。より良い方法は、Node アプリから静的コンテンツを移動し、Nginx に静的コンテンツを提供させることです。静的コンテンツ (/js、/css、/images など) を nginx www ディレクトリにコピーするだけです。あなたの場合、パフォーマンスも大幅に向上し、ラズベリーのリソースを節約できます。既存の www コンテンツに干渉する場合は、それらを追加のディレクトリ (例: /assets/js、/assets/css、...) に移動し、それに応じて html を変更します。

于 2013-06-13T19:43:34.817 に答える