Я запускаю лак на EC2 перед nginx, который направляется к node.js.лак, nginx, & node.js: статические страницы nginx html с резервным узлом node.js
Я хочу, чтобы обслуживать определенные статические HTML-страницы с определенных маршрутов (например, /
для index.html
) через nginx, но все остальные маршруты обрабатываются node.js.
В качестве примера, /
будет послан Nginx в виде статической HTML-страницы, пока ничего не соответствует, скажем /dynamic_stuff
или /dynamic_stuff2
, будут обработаны Node.js.
В других тонах онлайн другие люди устанавливали node.js в отдельном каталоге полностью, например /node/dynamic_stuff
, но я не хотел иметь отдельный каталог для моей маршрутизации.
Сейчас у меня есть /
служил вверх node.js как и все остальное, но если я только тестирование мой сервер Node.js и я беру его, я хотел бы /
к Откат к версии Nginx из index.html
. В этом случае, если мой сервер node.js снят, я получаю 502 Bad Gateway.
Я не слишком беспокоюсь о производительности от обслуживания файлов через nginx vs. node.js, я просто считаю, что я хочу, чтобы nginx обрабатывал базовые страницы, если node.js по какой-то причине сходит.
Соответствующий скрипт:
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, включая /
.
Если я что, она по-прежнему передает '/' в Node.js. Вот соответствующая часть из моего conf: location =/{ index index.html root/path/to/public try_files $ uri $ uri/index.html; } местоположение/{ 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 http: // node_js /; } – Xeus
Это немного трудно читать. Возможно, вы могли бы передать свой конфиг в свой вопрос как фрагмент кода. – topek
Хорошо, все, спасибо! – Xeus