今天有一監聽 8080 Port 的 Go 服務如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main

import (
"fmt"
"net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, %s!", r.URL.Path[1:])
}

func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}

該怎麼使用 Caddy 把這個服務架上去呢?

使用 reverse_proxy

這邊使用反向代理(Reverse Proxy)的作法

編輯 Caddyfile

1
2
3
your.domain.com {
reverse_proxy 0.0.0.0:8080
}

接著搭配 Caddyfile 一起運行 Caddy 就大功告成啦!

另外,Caddy 內還有很多套件可以與 reverse_proxy 一起使用,這裡就不一一贅述了~