Periksa isi respons CONNECT proxy yang gagal dengan curl
Kirim CONNECT diagnostik yang terbentuk dengan benar langsung ke proxy HTTP dan simpan header serta isi kegagalan HTTP secara terpisah.
Proxy yang menolak CONNECT dapat mengembalikan dokumen kesalahan HTTP yang menjelaskan kebijakannya atau kegagalan koneksi lanjutan. Untuk diagnostik yang diizinkan terhadap proxy HTTP biasa, curl dapat mengirim permintaan itu secara langsung dan menyimpan balasannya:
curl --proxy '' --http1.1 --max-time 10 \
--request CONNECT \
--request-target service.example:443 \
--header 'Host: service.example:443' \
--dump-header tunnel.headers \
--output tunnel.body \
http://proxy.example:8080/
URL terakhir menuju listener proxy. Untuk perbandingan proxy publik yang diizinkan, daftar proxy HTTP menyediakan kandidat untuk URL listener tersebut. --request memasok token metode; --request-target memasok otoritas CONNECT. Menjaganya tetap terpisah menghasilkan CONNECT service.example:443 HTTP/1.1.
Opsi proxy kosong mencegah curl merutekan diagnostik ini melalui proxy warisan lain. Perintah sengaja menghilangkan --fail agar dokumen kesalahan HTTP dapat dipertahankan.
Percobaan tanpa autentikasi dapat berhenti di 407 sebelum mencapai kegagalan yang sedang diselidiki. Gunakan pengaturan autentikasi yang dimaksudkan proxy saat mereproduksi permintaan terautentikasi.
Ini untuk memeriksa respons kegagalan. Jika proxy mengembalikan 2xx, koneksi menjadi terowongan alih-alih transfer isi HTTP biasa. Diagnostik metode khusus ini tidak memulai pertukaran TLS tujuan dan dapat mencapai batas waktunya pada terowongan terbuka yang diterima.
Gunakan alur permintaan --proxy normal untuk pengambilan HTTPS yang sebenarnya. Simpan status dan isi diagnostik bersama proxy dan target spesifiknya.