Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Gejala

Ketika Anda menggunakan fitur IIS Common Gateway Interface (CGI) ke host program yang dapat dijalankan yang menggunakan perpustakaan tertentu untuk mengarahkan permintaan, permintaan mungkin akan salah arah berdasarkan pada keberadaan header permintaan "PROXY". Beberapa platform aplikasi web yang dikenal menggunakan perpustakaan ini. Ini termasuk PHP, Python dan Go, antara lain.

Penyebab

CGI adalah antarmuka yang memungkinkan server web untuk aplikasi host yang dijalankan sebagai proses yang dapat dijalankan. Ketika permintaan diterima oleh web server, server mulai proses baru untuk menangani permintaan tunggal. Ketika permintaan selesai, proses akan keluar. Agar proses untuk mendapatkan akses ke data permintaan, header permintaan disertakan sebagai variabel lingkungan yang memiliki "HTTP_" prepended ke nama. Oleh karena itu, proses CGI untuk permintaan yang berisi judul yang bernama "Proxy" memiliki variabel lingkungan "HTTP_PROXY" yang memiliki nilai yang sama sebagai header permintaan.

Baris perintah cURL dan Perpustakaan biasanya digunakan untuk mengaktifkan berbagai macam aplikasi untuk membuat permintaan untuk berbagai jenis server, termasuk server web. Perpustakaan ini dapat dikonfigurasi menggunakan parameter baris perintah, atau dapat membaca parameter konfigurasi dari variabel lingkungan host proses. "HTTP_PROXY" adalah salah satu dari banyak parameter konfigurasi yang digunakan oleh cURL. "HTTP_PROXY" digunakan oleh cURL untuk mengirim permintaan HTTP melalui proksi dikonfigurasi.

Catatan Hal ini tidak terkait dengan "HTTP_PROXY" sebagai representasi header permintaan klien.

Ketika cURL berada dalam proses CGI, dan proses berisi variabel lingkungan yang bernama "HTTP_PROXY", cURL menggunakan nilai untuk mengirim data yang diminta melalui HTTP proxy nilai yang ditetapkan di variabel lingkungan. Ini terjadi karena cURL mengharapkan "HTTP_PROXY" adalah petunjuk konfigurasi dan tidak header permintaan klien.

Pemecahan masalah

Untuk mengatasi masalah ini, jangan gunakan CGI di server yang menjalankan IIS. CGI adalah antarmuka sebagian besar lama yang digantikan dengan antarmuka yang lebih baru dan lebih terkait kinerja. Khususnya, PHP, Python dan Go harus host melalui FastCGI pada IIS. FastCGI tidak menggunakan variabel lingkungan untuk header permintaan klien dan tidak memiliki masalah ini. Namun untuk PHP, beberapa aplikasi mungkin menggunakan fungsi getenv() PHPs untuk mengambil variabel lingkungan. Bahkan ketika PHP tidak berada di dalam proses CGI, itu meniru perilaku CGI dengan memasukkan nilai-nilai header permintaan ke set data yang tersedia untuk fungsi getenv() . Jika Anda menggunakan aplikasi PHP yang mengambil HTTP_PROXY dengan cara ini, mitigations berikut menghapus nilai header atau menolak permintaan dengan PROXY header efektif.

Jika Anda harus menggunakan CGI untuk beberapa alasan, memblokir permintaan yang berisi header permintaan yang bernama "Proxy" atau menghapus nilai header.  Hal ini karena "Proxy" bukan nama header permintaan standar dan browser umumnya tidak akan mengirimkan informasi.

Untuk memblokir permintaan yang berisi header Proxy (solusi yang dipilih), jalankan baris perintah berikut ini:

appcmd menetapkan konfigurasi /section:requestfiltering / + requestlimits.headerLimits. [header = proxy, sizelimit = '0']
Catatan Appcmd.exe tidak biasanya di jalur dan dapat ditemukan di direktori %systemroot%\system32\inetsrv

Untuk menghapus nilai header, Anda dapat menggunakan aturan penulisan ulang URL berikut ini:

<system.webServer>    <rewrite>
<rules>
<rule name="Erase HTTP_PROXY" patternSyntax="Wildcard">
<match url="*.*" />
<serverVariables>
<set name="HTTP_PROXY" value="" />
</serverVariables>
<action type="None" />
</rule>
</rules>
</rewrite>
</system.webServer>


Catatan Penulisan ulang URL yang dapat diunduh add-in untuk IIS dan tidak disertakan di penginstalan asali IIS.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×