Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sekilas
Tujuan: Mengontrol apakah Dev Proxy menangkap semua lalu lintas sistem atau hanya lalu lintas yang dirutekan secara eksplisit
Waktu: 5 menit
Prasyarat:Menyiapkan Proksi Dev
Secara default, ketika Anda memulai Dev Proxy, ia mendaftarkan dirinya sebagai proksi sistem. Akibatnya, semua lalu lintas HTTP/HTTPS di komputer Anda secara otomatis dirutekan melalui Dev Proxy. Memproksi semua lalu lintas melalui Dev Proxy berfungsi dengan baik untuk sebagian besar skenario—Anda memulai Dev Proxy, dan segera menangkap permintaan dari aplikasi Anda tanpa konfigurasi tambahan.
Namun, ada situasi di mana Anda mungkin ingin lebih mengontrol lalu lintas mana yang melewati Dev Proxy. Opsi ini asSystemProxy memungkinkan Anda menonaktifkan pendaftaran proksi sistem otomatis, memberi Anda kontrol halus atas aplikasi mana yang menggunakan Dev Proxy.
Kapan harus menonaktifkan pendaftaran proksi sistem
Pertimbangkan pengaturan asSystemProxy ke false kapan:
- Anda berada di jaringan perusahaan dengan pengaturan proksi yang sudah ada yang tidak ingin Anda ambil alih
- Anda hanya ingin menguji aplikasi tertentu tanpa memengaruhi aplikasi lain yang berjalan di komputer Anda
- Aplikasi lain gagal ketika Dev Proxy mencegat lalu lintas mereka (misalnya, Azure Functions)
- Anda menjalankan beberapa instans Dev Proxy dan ingin merutekan lalu lintas ke instans tertentu
- Anda ingin meminimalkan gangguan dengan layanan sistem dan proses latar belakang
Mengonfigurasi opsi proksi sistem
Anda dapat mengonfigurasi opsi dengan asSystemProxy dua cara: menggunakan file konfigurasi atau baris perintah.
File konfigurasi
Untuk menonaktifkan pendaftaran proksi sistem secara terus-menerus, tambahkan asSystemProxy pengaturan ke file konfigurasi Anda.
File:devproxyrc.json
Tujuan: Menonaktifkan pendaftaran proksi sistem otomatis
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Baris perintah
Untuk menonaktifkan pendaftaran proksi sistem untuk satu sesi, gunakan --as-system-proxy opsi .
devproxy --as-system-proxy false
Merutekan lalu lintas ke Proksi Dev secara manual
Saat Anda menonaktifkan pendaftaran proksi sistem, aplikasi tidak secara otomatis merutekan lalu lintas mereka melalui Dev Proxy. Anda perlu mengonfigurasi setiap aplikasi untuk menggunakan Dev Proxy secara eksplisit.
Menggunakan variabel lingkungan
Cara paling umum untuk merutekan lalu lintas ke Dev Proxy adalah dengan mengatur HTTPS_PROXY variabel lingkungan.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Prompt Perintah:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Petunjuk / Saran
Beberapa aplikasi juga mendukung HTTP_PROXY variabel lingkungan. Atur keduanya jika aplikasi Anda membuat permintaan HTTP dan HTTPS.
Konfigurasi khusus bahasa
Bahasa dan kerangka kerja pemrograman yang berbeda memiliki cara mereka sendiri untuk mengonfigurasi proksi:
- Node.js: Menggunakan paket agen global atau mengonfigurasi agen HTTP secara langsung
-
.NET: Setel variabel lingkungan atau konfigurasikan
HTTPS_PROXYdengan proxy (lihatHttpClient) -
Azure Functions: Mengonfigurasi proksi di
local.settings.json(lihat Menggunakan Dev Proxy dengan .NET Azure Functions)
Contoh: Uji Azure Functions tanpa mengganggu startup
Azure Functions menggunakan gRPC untuk komunikasi internal, yang gagal ketika Dev Proxy terdaftar sebagai proksi sistem. Untuk menggunakan Dev Proxy dengan Azure Functions, nonaktifkan pendaftaran proksi sistem dan konfigurasikan proksi melalui variabel lingkungan.
File:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Berkas:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Dengan konfigurasi ini, Azure Functions dimulai secara normal saat permintaan HTTP Anda ke URL yang dipantau dirutekan melalui Proxy Dev.
Contoh: Uji satu aplikasi sambil menjaga orang lain tidak terpengaruh
Saat Anda mengembangkan beberapa aplikasi secara bersamaan, Anda mungkin ingin menggunakan Dev Proxy hanya dengan salah satunya. Nonaktifkan pendaftaran proksi sistem dan atur variabel lingkungan hanya untuk aplikasi target.
Mulai Proksi Dev tanpa pendaftaran proksi sistem:
devproxy --as-system-proxy false
Di terminal terpisah, jalankan aplikasi Anda dengan proksi yang dikonfigurasi:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Aplikasi lain di komputer Anda terus bekerja secara normal tanpa gangguan proksi apa pun.
Jalankan beberapa instance Proksi Dev
Saat Anda mengatur asSystemProxy ke false, Anda dapat menjalankan beberapa instans Proksi Dev secara bersamaan. Setiap instans mendengarkan pada portnya sendiri dan melacak statusnya sendiri menggunakan file status per instans.
Memulai beberapa salinan
Mulai setiap instans pada port yang berbeda:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
Di terminal lain:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Periksa status instans yang sedang berjalan
Untuk melihat semua instans yang sedang berjalan, gunakan status perintah :
devproxy status
Menghentikan instans tertentu
Untuk menargetkan instans tertentu, gunakan --pid opsi dengan stop perintah :
devproxy stop --pid 6456
Untuk menghentikan semua instans yang sedang berjalan:
devproxy stop
Menampilkan log dari instans tertentu
Gunakan opsi --pid dengan perintah logs
devproxy logs --pid 6456
Jika Anda menjalankan devproxy logs tanpa --pid, Dev Proxy menunjukkan log dari instans proksi sistem, atau instans yang paling baru dimulai jika tidak ada yang terdaftar sebagai proksi sistem. Dev Proxy juga mencetak pemberitahuan yang memberi tahu Anda instans mana yang dipilihnya dan mencantumkan ID proses instans lain yang sedang berjalan.
Nota
Hanya satu instans Proksi Dev yang dapat didaftarkan sebagai proksi sistem pada satu waktu. Jika Anda mencoba memulai instans baru dengan asSystemProxy diatur ke true saat instans proksi sistem lain sudah berjalan, Dev Proxy memblokir startup.