package main import ( "dy-test/dyrpc/helper" "dy-test/dyrpc/services" "dy-test/dyrpc/services/prod" "google.golang.org/grpc" "net" ) const ( certFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem" keyFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key" caFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/ca/ca.pem" ) func main() { //配置 TLS认证相关文件 //creds, err := credentials.NewServerTLSFromFile("/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem", // "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key") //if err != nil { // panic(err) //} rpcServer := grpc.NewServer(grpc.Creds(helper.GetCredentials(certFile, keyFile, caFile))) prod.RegisterProdServiceServer(rpcServer, new(services.ProdService)) listen, err := net.Listen("tcp", ":8081") if err != nil { panic(err) } err = rpcServer.Serve(listen) if err != nil { panic(err) } // 让rpc提供http服务 //mux := http.NewServeMux() //mux.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) { // fmt.Println(request.Proto) // fmt.Println(request.Header) // rpcServer.ServeHTTP(writer, request) //}) // //httpServer := &http.Server{ // Addr: ":8081", // Handler: mux, //} // //httpServer.ListenAndServeTLS("/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem", "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key") }