Alamat fail PAC dan titik akhir proxy kelihatan boleh ditukar ganti dalam fail konfigurasi, tetapi tidak. Satu ialah program dasar yang perlu dinilai bagi setiap URL; satu lagi ialah hos dan port yang menerima sambungan. curl hanya memahami yang kedua. Menghantar alamat PAC kepada --proxy ialah kesilapan kategori yang gagal dengan cara mengelirukan, biasanya selepas tamat masa CONNECT yang panjang ke pelayan web.

Apakah sebenarnya setiap satu

Anda adaApakah iaApa yang curl lakukan dengannya
http://wpad.corp.example/proxy.pacJavaScript yang mengembalikan proxy atau sambungan terus bagi URL tertentuMemuat turunnya sebagai fail dan berhenti di situ
http://proxy.corp.example:8080Pendengar yang menerima permintaan melalui proxyMenggunakannya, termasuk CONNECT untuk sasaran HTTPS

Perkara itu dinyatakan dengan jelas oleh soalan lazim curl: curl tidak menyediakan tafsiran JavaScript mahupun PAC. Pembalut di sekeliling curl yang memahami PAC boleh, tetapi curl sendiri tidak, dan tiada flag menjadikannya pelayar.

Mengapa pelayar berfungsi dan curl tidak

Pelayar bersepadu dengan konfigurasi proxy sistem, mengambil fail PAC dan menjalankan peraturannya terhadap URL yang anda buka. Penilaian itulah perkhidmatan yang disediakan fail PAC, dan ia berlaku di dalam pelayar, bukan di dalam terminal anda.

Memuat turun fail PAC dengan curl hanya mendapat teksnya. Ia tidak membuat curl melaksanakan dasar itu, dan membacanya secara manual untuk mencari proxy ialah versi manual penilaian yang sama, dengan peluang yang sama memilih cabang yang salah. Jika anda membacanya, baca pernyataan return yang sepadan dengan hos anda, bukan nama proxy pertama dalam fail. Kebanyakan fail PAC mengandungi beberapa, dan hanya satu cabang terpakai kepada anda.

Bagi proxy HTTP yang diluluskan dan perkhidmatan HTTPS yang diluluskan, contoh permintaan ialah:

curl --proxy http://proxy.corp.example:8080 https://service.example.net/status

Alamat pertama ialah pendengar proxy, yang kedua ialah perkhidmatan yang anda mahu. Ini ialah titik akhir contoh, bukan ujian yang dilakukan oleh sesiapa, jadi gantikannya dengan skema, port dan aliran pengesahan organisasi anda.

Pilih proxy untuk destinasi ini

Tanya pentadbir proxy mana yang dipilih dasar untuk URL yang anda perlukan, bukan proxy mana yang dimiliki organisasi. Peraturan PAC boleh memulangkan hasil berbeza untuk perkhidmatan dalaman, laman awam dan keadaan peralihan kegagalan, dan peraturan yang sepadan dengan URL anda hari ini mungkin sepadan dengan yang lain selepas suntingan.

Jika aliran kerja memerlukan lebih daripada satu permintaan yang diketahui, gunakan tetapan statik yang disokong pentadbir atau integrasi sedar PAC yang diluluskan. Pengekodan keras satu alamat yang disalin berfungsi sehingga hari dasar berubah dan tiada siapa ingat mengapa alamat itu dipilih.

Kemudian lihat apa yang diwarisi curl. Pemboleh ubah persekitaran proxy dan NO_PROXY boleh mengatasi atau mengecualikan proxy yang anda hantar, dan pengecualian yang sepadan dengan sasaran anda menghantar permintaan itu terus secara senyap. Kekalkan dasar yang dimaksudkan daripada memadam setiap pengecualian atau memaksa semuanya melalui satu alamat. Jalankan permintaan itu sekali dengan -v dan semak alamat mana yang benar-benar disambungkannya.

Asingkan kedua-dua identiti TLS

Dengan proxy HTTPS, dua sambungan TLS sedang berjalan: anda ke proxy dan proxy ke destinasi. Setiap satu mempunyai identiti sendiri untuk disahkan, dan melumpuhkan pengesahan bagi mana-mana satu daripadanya bukan pembetulan PAC, ia masalah kedua yang ditambah kepada yang pertama.

Biarkan pengesahan dihidupkan dan baca kegagalan yang anda dapat. Cabaran pengesahan proxy, proxy yang tidak dapat dicapai dan penolakan daripada laman web ialah tiga hasil berbeza, dan hanya yang pertama berkaitan kelayakan. VPN masih perlu menyediakan laluan yang dibenarkan ke proxy peribadi, termasuk penyelesaian nama untuk hos proxy itu sendiri, sebelum mana-mana ini boleh berjaya.

Catatkan titik akhir, skema, port, kaedah pengesahan, pengecualian dan laluan VPN ke proxy. Catatan itulah yang menjadikan permintaan seterusnya boleh dihasilkan semula, dan itulah perbezaan antara mengenal proxy anda dan menekanya.

Artikel berkaitan