是否有可能将m.GetCertificate安装到GRPC客户机/服务器中?
m := &autocert.Manager{
Cache: autocert.DirCache("tls"),
Prompt: autocert.AcceptTOS,
HostPolicy: autocert.HostWhitelist("example.com"),
}
go http.ListenAndServe(":http", m.HTTPHandler(nil))
cert, err := m.GetCertificate(...)
if err != nil {
t.Fatalf("Failed to generate certificates %s", err)
}
creds := credentials.NewServerTLSFromCert(cert)
srv := grpc.NewServer(grpc.Creds(creds))
reflection.Register(srv)发布于 2018-04-22 14:10:07
https://github.com/golang/go/issues/24894
使用NewTLS而不是NewServerTLSFromCert。
https://godoc.org/google.golang.org/grpc/credentials#NewTLS
给FiloSottile的学分
m := &autocert.Manager{
Cache: autocert.DirCache("tls"),
Prompt: autocert.AcceptTOS,
HostPolicy: autocert.HostWhitelist("example.com"),
}
go http.ListenAndServe(":http", m.HTTPHandler(nil))
creds := credentials.NewTLS(&tls.Config{GetCertificate: m.GetCertificate})
srv := grpc.NewServer(grpc.Creds(creds))
reflection.Register(srv)https://stackoverflow.com/questions/49874945
复制相似问题