node.jsにルーティングするnginxの前でEC2でワニスを実行しています。
/
私が望むのは、nginx を介して特定のルート ( forなど) から特定の静的 HTML ページを提供することですがindex.html
、他のすべてのルートは node.js によって処理されます。
例として、/
は静的 HTML ページの形式で nginx によって送信されますが、一致しないもの/dynamic_stuff
( や など/dynamic_stuff2
) は node.js によって処理されます。
オンラインの他のスレッドでは、他の人が node.js を完全に別のディレクトリに配置/node/dynamic_stuff
していましたが、ルーティング用に別のディレクトリを作成したくありませんでした。
現在/
、他のすべてのように node.js でサービスを提供していますが、node.js サーバーをテストしているだけでそれを停止する場合は/
、nginx バージョンのindex.html
. この場合、node.js サーバーが停止すると、502 Bad Gateway が発生します。
nginx と node.js を介してファイルを提供することによるパフォーマンスについてはあまり心配していません。何らかの理由で node.js がダウンした場合、nginx で基本的なページを処理する必要があると考えています。
関連するスクリプト:
location = / {
index index.html
root /path/to/public
try_files $uri $uri/ index.html;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass node_js;
}
上記のコードを使用すると、すべてのリクエストが node.js に送信され/
ます。