2016-01-21 101 views
0

我想設置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配置來實現這一點。

請幫忙。提前致謝。

回答

0

嘗試將設置proxy_pass設置爲127.0.0.1而不是0.0.0.0。前者意味着「本地主機」,後者意味着「任何主機」。雖然你可能會聽「任何IP」,你想連接到一個/特定/ IP。

可能還有其他問題,但這可能有幫助。

+0

我試過把它設置爲localhost和127.0.0.1,但問題仍然是一樣的。它只是不解決任何POST/GET請求。 –