字體:  

Nginx反向代理部署 Node.js 的配置方法

becky98 發表於: 2016-7-11 16:11 來源: ADJ網路控股集團


一般來說使用node.js開發的webapp都不會是預設的80 port,以官方文件演示為例

QUOTE:



var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Welcome Node.js');
}).listen(3001, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3001/');



使用的是3001 port,使用者在網址後面加入 :3001 才能訪問網站,一般預設HTTP端口是80,監聽 80port能讓網址看起來更簡結。我在CentOS 6上配置了使用的是nginx,需要使用反向代理,配置nginx反向代理的參數参考如下。

比如說我的域名為 nodejs.adj.com.tw ,node.js的通訊端口為 3001,則設定如下:

QUOTE:



server {
    server_name nodejs.adj.com.tw;
    index index.php index.html index.htm;

    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 http://127.0.0.1:3001/;
    proxy_redirect off;
    }
}



將網站域名設置好,然後端口設置為80,將所有 nodejs.adj.com.tw:80的請求傳遞到nodejs程序去。 保存nginx conf文件後,記得要restart nginx,方能生效囉。