#javascript #node.js #angular #nginx #devops
#javascript #node.js #угловой #nginx #devops
Вопрос:
У меня есть следующий маршрут в nodejs
app.get('/admin', function (req, res) {
console.log("CAME HERE");
res.redirect('/login.html');
});
мой nginx.conf выглядит так
upstream dev{
server 127.0.0.1:3001;
}
server {
listen 80;
server_name dev.abc.com;
location /api {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_pass http://dev;
}
location /admin {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_pass http://dev;
}
}
Теперь, когда я ввожу этот URL-адрес в браузере dev.abc.com/admin
, страница перенаправляется http://dev.abc.com/login.html
, но в браузере отображается ошибка следующим образом:
404 Not Found
nginx/1.0.5
с localhost все работает нормально.
Я думаю, что со стороны nginx нужно сделать что-то еще, не уверен, что.
Комментарии:
1. где login.html находится ли он на самом деле, находится ли он в
/public
папке или?2. ДА, он находится в папке /public
Ответ №1:
Ваша текущая конфигурация Nginx настроена только на обслуживание процесса узла @ порт 3001, никаких упоминаний о каких-либо статических файлах.
# replace with your public directory path
root /www/data;
location / {
try_files $uri $uri/ $uri.html =404;
}