Skip to main content

nginx-reverse-proxy

Nuxt 以 Universal 模式運行下,後端會起 Node Server (預設是 http://127.0.0.1:3000 )

網站服務一般都走 80 Port,中間需要人幫忙

https://ithelp.ithome.com.tw/upload/images/20181117/20103424NYmSSNVyE2.png


反向代理 (Reverse Proxy) 的概念

https://ithelp.ithome.com.tw/upload/images/20181117/20103424uL8la1PJeW.png

相較於正常 Proxy 代理 Client (Agent) 向 Server 請求,隱藏原始請求方,讓 Server 不知道 Client 是誰。 反向代理 (Reverse Proxy) 隱藏回應方,使得 Client 不知道實際由誰提供服務。

用途

  • 隱藏內部網路架構並提供外網服務
  • 加密
  • 負載平衡
  • 快取
  • 內容壓縮

自架可選 nginx 或 Apache 各個功能在不同的雲端服務商,可能拆成不同的功能區塊 (可以參考 AWS、GCP 的功能說明)

搭配 Nuxt 使用

只跑 Nuxt 的情況,只需把 domain 80 port 指給 Node Server

http {
...
include servers/cases.conf;
...
}
# cases.conf
upstream nodenuxt {
server 0.0.0.0:3000;
keepalive 64;
}

server {
listen 80;
location / {
proxy_pass http://nodenuxt;
}
}

參考

https://segmentfault.com/a/1190000010337823