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 に送信され/ます。