使用Golang来生成并使用Let’s Encrypt的证书

听说Golang也支持ACME协议,所以我试了一下。

根据文件的内容,只需以下代码即可生成证书并进行监听。

golang.org/x/crypto/acme/autocert 可以被改写成:


package main

import (
        "fmt"
        "log"
        "net/http"

        "golang.org/x/crypto/acme/autocert"
)

func main() {
        mux := http.NewServeMux()
        mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
                fmt.Fprintf(w, "Hello, TLS user! Your config: %+v", r.TLS)
        })
        log.Fatal(http.Serve(autocert.NewListener("www.example.jp"), mux))
}

如果使用autocert.Manager{},似乎可以更精细地进行控制。

广告
将在 10 秒后关闭
bannerAds