Ralat gRPC: Menyelesaikan "Sambungan Ditutup Sebelum Prakata Pelayan Diterima"
Dalam isu ini, pembangun menghadapi ralat gRPC sekejap-sekejap apabila cuba untuk buat pertanyaan kepada pelayan Dgraph yang digunakan dalam Docker. Ralat, "sambungan ditutup sebelum prakata pelayan diterima," membayangkan masalah dengan persediaan sambungan.
Punca ralat selalunya terletak pada ketidakpadanan antara konfigurasi TLS pelayan dan tetapan sambungan klien. Dalam kes ini, jika pelayan dikonfigurasikan dengan TLS didayakan tetapi pelanggan cuba menyambung tanpa TLS, sambungan akan gagal dengan ralat ini.
Untuk menyelesaikan isu, ikut langkah ini untuk mengkonfigurasi pilihan TLS pada klien :
tlsConfig := &tls.Config{ Certificates: []tls.Certificate{myCertificate}, RootCAs: myCAPool, } tlsOpt := grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig)) conn, err := grpc.DialContext(ctx, "<connection_string>", tlsOpt)
Pastikan anda menggunakan sijil pelanggan pada sambungan pelanggan. Setelah konfigurasi ini disediakan, pelanggan seharusnya dapat mewujudkan sambungan selamat ke pelayan dan melakukan pertanyaan tanpa menghadapi ralat "sambungan ditutup".
Atas ialah kandungan terperinci Mengapa Klien gRPC Saya Mendapat 'Sambungan Ditutup Sebelum Prakata Pelayan Diterima' Apabila Menyambung ke Pelayan Dgraph Dockerized?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!