Prioritas Variabel Proxy dan Bypass gRPC C-Core
Telusuri prioritas proxy dan bypass gRPC Core tanpa menganggap implementasi gRPC lain memakai mapper yang sama.
Mengubah http_proxy bisa tidak berpengaruh jika setelan gRPC berprioritas lebih tinggi sudah ada. Mulailah dengan mengenali implementasinya: perilaku berikut milik mapper HTTP proxy bawaan gRPC C-Core dan turunannya.
Mapper memeriksa argumen proxy kanal, lalu grpc_proxy, lalu https_proxy, lalu http_proxy, dan berhenti pada nilai pertama yang dikonfigurasi.
Penemuan bypass punya urutannya sendiri: no_grpc_proxy lebih diutamakan daripada no_proxy. Nilai lama di sana dapat menjelaskan mengapa suatu target menghindari proxy yang sebenarnya dikonfigurasi.
Mapper ini memakai HTTP CONNECT. URI proxy yang didokumentasikan mengharapkan skema HTTP; layanan gRPC yang dilindungi TLS tidak dengan sendirinya memerlukan endpoint proxy yang dilindungi TLS. Periksa autentikasi yang didukung secara terpisah, jangan menganggap skema login peramban mana pun tersedia. Untuk target gRPC publik yang mengizinkan perantara publik, daftar proxy HTTP menawarkan kandidat endpoint untuk URI proxy HTTP yang dipilih; pastikan akses ke target dan porta CONNECT yang sebenarnya.
Implementasi gRPC dalam Java, Go, JavaScript, atau bahasa lain dapat memiliki kode transport dan konfigurasi berbeda. Jangan terapkan daftar variabel C-Core sebagai aturan universal untuk semua yang bernama gRPC.
Untuk kanal yang gagal, simpan proxy yang dipilih, keputusan bypass, target, dan tahap kesalahan. HTTP API yang dapat dijangkau melalui klien lain tidak membuktikan bahwa mapper ini memakai setelan yang sama atau bahwa proxy mengizinkan tujuan CONNECT yang diperlukan.