一般來說使用node.js開發的webapp都不會是預設的80 port,以官方文件演示為例
引用:
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,則設定如下:
引用:
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,方能生效囉。