前一篇 ubuntu 上 Nginx 安裝與設定 文章有說明如何安裝 Nginx 以及基本設定,本篇文章主要分享安裝好 Nginx 後,該如何調整參數,讓 Nginx 成為 proxy server。
Proxy server 介紹
一般稱為代理伺服器,當外部網路上的用戶端提出請求,Proxy server 會將外部的請求導到內部網路中所對應的伺服器做回應,該回應結果會再透過 Proxy server 傳回給外部網路上的用戶端,此方法是為了保護內部伺服器服務的安全,避免用戶端可以直接對伺服器做攻擊,另外 Proxy server 也有另外一個好處,可以做 Cache 機制,當伺服器的回應內容如果沒有做更新, Proxy server 可以將過去回應的結果直接傳回給用戶端。
設定 Proxy server & Load Balance 步驟
想要讓 internet 上的用戶端透過 www.example.com 這個 domain name 連線至 Nginx server 再透過 Proxy 機制導到內部本地端的伺服器,可以透過下面的設定檔
Step 1.
在 server 上設定 nginx 套件
cd /etc/nginx/conf.d
vi nginx.conf
Step 2.
新增 Domain name 連線至 Nginx server 再透過 Proxy 機制導到內部本地端的伺服器的設定檔。
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass 127.0.0.1:3000;
# 把 www.example.com 指到本地端 3000 port
}
}
Step 3.
設定 Load balance 設定檔,需要使用 upstream 這個模組。
upstream backend {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://backend; # 指到設定的 upstream
}
}
設定完成後 Nginx 會使用預設的 round-robin 演算法機制來作 Load balance。
Step 4.
重新讀取 Nginx 設定檔
/etc/init.d/nginx reload
系統環境版本資訊
- Ubuntu 14.04