Mengapa curl Bersambung ke localhost dan Bukan URL Jauh
Asingkan proksi warisan, fail curlrc lalai dan sasaran sebenar sebelum menyalahkan VPN. Tiga larian terkawal memastikan pengesahan TLS kekal hidup.
Jika curl cuba bersambung ke localhost tanpa mengira URL yang anda berikan, VPN ialah tempat yang salah untuk bermula. Proksi HTTP atau SOCKS setempat mungkin merupakan sambungan pertama yang dimaksudkan, walaupun perkhidmatan yang anda mahu berada di tempat lain sama sekali. Jika proksi itu tidak lagi berjalan, cubaan ke localhost gagal sebelum curl sampai ke destinasi. Respons proksi juga bukan bukti bahawa destinasi telah menjawab.
Lakukan langkah-langkah ini mengikut urutan dan berhenti pada langkah pertama yang mengubah cubaan sambungan pertama.
Baca peraturan proksi curl sendiri dahulu
curl membaca pemboleh ubah proksi khusus protokol, seperti https_proxy dan HTTPS_PROXY, serta ALL_PROXY apabila tiada nilai khusus protokol yang terpakai. Periksa persekitaran shell, perkhidmatan atau tugas yang benar-benar melancarkan curl, bukan yang berada dalam terminal anda sekarang. Tugas CI, unit systemd dan shell interaktif boleh mewarisi tiga set berbeza. Meneka daripada shell yang kelihatan itulah yang menyebabkan siasatan ini membazir satu petang.
Satu pengecualian wajar diingati. curl menerima http_proxy hanya dalam huruf kecil; huruf besar HTTP_PROXY diabaikan, sebab itulah persekitaran yang sama berkelakuan berbeza dalam alat lain.
Baca nilai itu secara peribadi, kerana URL proksi sering membawa kelayakan.
Kemudian periksa fail konfigurasi lalai curl untuk penggantian proksi atau sambungan, dan sahkan fail boleh laku mana yang sebenarnya anda jalankan. Alias shell, fungsi atau skrip pembalut boleh menambah pilihan yang tidak pernah muncul pada baris perintah anda.
Bandingkan tiga seruan dengan TLS dihidupkan
Gunakan satu destinasi diagnostik yang diluluskan dan binari yang sama untuk ketiga-tiga larian.
curl -v https://service.corp.example/status
curl -q -v https://service.corp.example/status
curl -q --proxy '' -v https://service.corp.example/status
-q menekan curlrc lalai dan mesti menjadi parameter pertama pada baris itu untuk berfungsi. Ia tidak membuang pemboleh ubah persekitaran proksi, yang mengejutkan mereka yang menjangkakan perkara itu. Bentuk ketiga menambah nilai --proxy kosong, menggantikan proksi yang diminta persekitaran hanya untuk seruan itu. Bandingkan cubaan sambungan pertama dalam setiap output, bukan kod status akhir.
Output terperinci boleh mendedahkan pengepala, token dan kelayakan proksi, jadi simpan secara setempat dan baca petikan sebelum berkongsinya.
Apa yang dikecualikan oleh setiap hasil
Jika melangkau konfigurasi lalai mengubah sambungan, fail konfigurasi ialah puncanya. Jika melumpuhkan proksi warisan secara jelas mengubahnya, pemboleh ubah persekitaran ialah puncanya. Jika kedua-duanya tidak mengubahnya dan localhost masih muncul, periksa penggantian sambungan pada baris perintah, penyelesaian nama hos dan fail boleh laku yang dipilih. Setiap satu mempunyai pembaikan berbeza, dan tiada satu pun merupakan perubahan penghalaan.
Memuatkan pustaka tersuai atau tingkah laku rangkaian yang disuntik ialah lapisan kemudian, dan pemboleh ubah persekitaran semata-mata bukan buktinya.
Asingkan keputusan proksi daripada VPN
Sebaik curl memilih destinasi langsung, sistem pengendalian masih menghalakan sambungan itu. Melumpuhkan proksi aplikasi tidak melumpuhkan laluan VPN atau dasar penapisannya. Lakukan perbandingan akses langsung hanya di tempat diagnostik itu dibenarkan. Ujian yang memintas dasar secara senyap bukan hasil yang sah, ia adalah insiden.
Jika proksi setempat diperlukan, pulihkan perkhidmatan dan alamatnya dan bukannya memadamkan tetapannya.
Jika hanya destinasi peribadi terpilih memerlukan akses langsung, tambah pengecualian sempit yang diluluskan dan kekalkan proksi untuk segala-gala yang lain. Simpan ralat pertama daripada laluan yang dipilih, kerana penolakan localhost, penolakan CONNECT proksi, kegagalan sijil dan ralat kebenaran menandakan empat peringkat berbeza.