У меня есть приложение NodeJs, работающее на локальном хосте: 8000, и я использую Nginx в качестве прокси-сервера. Это единственное приложение, работающее на Nodejs, в то время как другие приложения основаны на PHP.
Я пытаюсь настроить прокси в Nginx для перенаправления всех запросов с "http://localhost/NodeApp/" на " http://localhost:8000/". Nginx должен получать напрямую только файлы css/js/images из этого nodeapp. Все остальные запросы направляются на сервер Apache. Конфигурация Nginx такая:
#Need to modify this code to fetch static files for NodeApp only!
location ~ ^/(uploads/|vendor/|images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
root /var/www/NodeApp/public;
access_log off;
}
location /NodeApp/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_pass http://localhost:8000/;
}
Приведенная выше конфигурация Nginx ломает другие приложения, поскольку ищет статические файлы в общей папке NodeApp. Как мне изменить приведенную выше конфигурацию, чтобы она работала только для «localhost/NodeApp/»
Я пробовал ниже конфигурацию, но это ломает статическую папку NodeApp, имеет подпапки - /public/js/bootstrap/ /public/js/datepicker/ /public/css/bootstrap/ /public/css/datepicker/ /public/uploads/pdf / /общедоступные/изображения/
location /NodeApp/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_pass http://OneDesktop/;
alias /var/www/NodeApp/public/;
}
Любой совет? Я пробовал много вещей, но не повезло!
Спасибо!