跳转至

反向代理(Reverse Proxy)

範例

情境

Nginx 站在櫃檯前,幫客人把訂單送到廚房,然後把炸雞拿回來交給客人。這樣客人不會直接跟廚師講話,所有請求都要透過 Nginx。 用戶(客人)不會直接接觸後端伺服器(廚師)。 Nginx 會幫忙把用戶的請求轉交到後端伺服器,然後把結果送回來。

如果你有一個網站,後端的伺服器跑在 http://localhost:8080,但你希望用戶只需要打開 http://mywebsite.com 就能連上,Nginx 會幫你轉發請求。

server {
    listen 80;
    server_name mywebsite.com;

    location / {
        proxy_pass http://localhost:8080;
    }
}

結果

用戶開啟 http://mywebsite.com Nginx 自動把請求轉發到 http://localhost:8080 後端伺服器回應後,Nginx 會再把結果傳回給用戶。

好處

  • 保護後端伺服器(使用者看不到內部伺服器 IP)

  • 讓網站支援多個後端服務(可以代理不同服務)