Nginx 反向代理完整架設教學

## 前言

Nginx 係一款高效能既網頁伺服器,同時支援反向代理功能。透過反向代理,你可以用一個 IP 同域名托管多個服務。

## 什麼係反向代理?

反向代理位於客戶端與後端伺服器之間,接收客戶端請求後轉發到相應既後端服務。

## 安裝 Nginx

“`bash
sudo apt update
sudo apt install -y nginx
sudo systemctl enable nginx
“`

## 基本反向代理設定

“`nginx
server {
listen 80;
server_name your-domain.com;

# 主站
location / {
proxy_pass http://127.0.0.1:80;
}

# Dashboard 反向代理
location /dashboard/ {
proxy_pass http://127.0.0.1:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
“`

## SSL 設定

“`bash
sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx -d your-domain.com
“`

## 常用指令

“`bash
sudo nginx -t # 測試配置
sudo systemctl reload nginx
sudo systemctl restart nginx
“`

## 架構示例

| 路徑 | 實際服務 |
|——|———-|
| / | WordPress |
| /dashboard/ | 監控面板:3000 |
| /api/ | Node.js API:4000 |

## 疑難排解

| 問題 | 解決 |
|——|——|
| 502 Bad Gateway | 檢查後端服務 |
| 504 Timeout | 增加 timeout 設定 |

## 總結

Nginx 反向代理係托管多個服務既最佳方案。

Leave a Comment