nginx和快速路由器获取+发布请求问题

问题描述:

我想设置nginx后面的2个节点/快速站点。我想我已经尝试了我在论坛中找到的所有可能的解决方案,但他们只对我部分工作。nginx和快速路由器获取+发布请求问题

我想才达到的是: - 一个域与2节点/快递应用 1)node.dev/site3 2)node.dev/site4

这适用于主都好吗索引文件,但是选择任何按钮/路由我得到一个404错误。

这里是nginx的设置:

server { 
    listen 80; 
    root /var/www/node.dev; 
    server_name node.dev; 
    index index.htm index.html; 
    access_log /var/log/nginx/node; 
    charset utf8; 
    sendfile off; 
    location /site3/ { 
     proxy_pass http://0.0.0.0:8088/; 
     #rewrite ^/site3/(.*)$ /$1 break; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_cache_bypass $http_upgrade; 
    } 

    location /site4/ { 
    proxy_pass http://0.0.0.0:8080; 
    #rewrite ^/site4/(.*)$ /$1 break; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_cache_bypass $http_upgrade; 
} 

}

,这是我的快递路线设置:

var express = require('express'); 
module.exports = function(app) { 
var router = express.Router(); 
router.get('/ping', function(req, res){ 
     res.send("pong!", 200); 
}); 
router.get('/walk/:walk_name', function(req, res, next) { 
    res.send("walk!", 200); 
}); 
router.get('/walk', function(req, res, next) { 
    res.send("No walker!", 200); 
}); 
router.get('*', function(req, res) { 
    res.sendfile('./public/index.html'); // load the single view file (angular  will handle the page changes on the front-end) 
}); 
app.use('/', router); 
} 

访问与//node.dev/site3返回网站索引文件如预期的那样,然而点击WALK例如它应该返回//node.dev/site3/walk,但是它会返回http://node.dev/walk并且出现404错误。

我无法对节点/快速应用程序进行任何更改。有没有办法通过nginx配置来实现这一点。

请帮忙。提前致谢。

尝试将设置proxy_pass设置为127.0.0.1而不是0.0.0.0。前者意味着“本地主机”,后者意味着“任何主机”。虽然你可能会听“任何IP”,你想连接到一个/特定/ IP。

可能还有其他问题,但这可能有帮助。

+0

我试过把它设置为localhost和127.0.0.1,但问题仍然是一样的。它只是不解决任何POST/GET请求。 –