透過Caddy2 Reverse Proxy來為Docker Container連接域名

Linux Jun 27, 2021

最近在嘗試為多個Docker container連接域名,不用常常輸入IP:Port來連接網站。在比較Nginx和Caddy2的設置難度後,選擇了Caddy2。一來是因為Caddy設置沒有Nginx這麼繁瑣(可能是因為我對Nginx了解很少,請見諒),二來是Caddy會自動設置https,不用安裝cerbot來獲取https證書。

安裝Caddy2

按照官方說明,直接copy&paste指令即可。由於我是用Ubuntu,這邊的指令會是Ubuntu、Debian、Raspbian專用。

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add -
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

使用Caddy2

到目錄下建立一個名叫Caddyfile的文件,按需要加入reverse_proxy代碼。

sudo nano Caddyfile

example1.com {
  reverse_proxy 127.0.0.1:3000
}

example2.com {
  reverse_proxy 127.0.0.1:3001
}

設置好DNS的A記錄(指向伺服器IP),再輸入caddy start即可,同時Caddy會自動取得SSL證書,可以直接使用https連接網站。

標籤