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: Menggunakan Dev Proxy dengan Subsistem Windows untuk Linux (WSL)
Waktu: 15 menit
Prasyarat:Menyiapkan Proksi Dev, WSL terinstal
Saat mengembangkan aplikasi di WSL (Subsistem Windows untuk Linux), Anda memiliki dua opsi untuk menggunakan Dev Proxy: menjalankannya di host Windows Anda atau di dalam WSL. Kedua pendekatan memiliki keuntungan tergantung pada alur kerja pengembangan Anda.
Opsi 1: Proksi Dev pada host Windows (disarankan)
Pendekatan paling sederhana adalah menginstal dan menjalankan Dev Proxy di Windows. Dengan Proksi Otomatis WSL dan mode jaringan tercermin, WSL menggunakan proksi sistem Windows, sehingga aplikasi yang berjalan di WSL memiliki lalu lintas yang disadap oleh Dev Proxy tanpa mengonfigurasi proksi di WSL.
Mengonfigurasi jaringan WSL
Dev Proxy mendaftarkan dirinya sebagai proksi sistem Windows pada alamat localhost (127.0.0.1:8000 secara default). Agar aplikasi di WSL menggunakan proksi ini, aktifkan pengaturan berikut di bagian [wsl2] pada file konfigurasi WSL yang terletak di %UserProfile%\.wslconfig pada Windows:
[wsl2]
networkingMode=mirrored
autoProxy=true
| Setting | Description |
|---|---|
networkingMode=mirrored |
Mencerminkan antarmuka jaringan Windows ke Linux, yang memungkinkan aplikasi di WSL terhubung ke server yang berjalan di Windows, seperti Dev Proxy, menggunakan 127.0.0.1. Memerlukan Windows 11 versi 22H2 atau yang lebih baru. Nilai defaultnya adalah nat. |
autoProxy=true |
Membuat WSL menggunakan pengaturan proksi HTTP Windows, sehingga proksi yang dikonfigurasi pada Windows secara otomatis diatur dalam WSL. Tersedia di Windows 11. Diaktifkan secara default. |
Setelah Anda mengubah .wslconfig file, mulai ulang WSL agar perubahan diterapkan:
wsl --shutdown
Nota
Dalam mode jaringan NAT default, aplikasi di WSL tidak dapat terhubung ke Dev Proxy di Windows menggunakan 127.0.0.1. Jika Anda tidak dapat menggunakan mode jaringan cermin, jalankan Dev Proxy di dalam WSL sebagai gantinya. Untuk informasi selengkapnya, lihat Opsi 2: Proksi Dev di dalam WSL.
Untuk informasi selengkapnya, lihat Mengakses aplikasi jaringan dengan WSL dan Konfigurasi pengaturan lanjutan di WSL.
Menyiapkan Dev Proxy di Windows
Instal Dev Proxy di Windows menggunakan winget atau penginstalan manual.
Mulai Proksi Dev:
devproxyPercayai sertifikat saat diminta.
Menggunakan Dev Proxy dari WSL
Ketika Dev Proxy berjalan sebagai proksi sistem pada Windows (perilaku default) dan Anda mengonfigurasi jaringan WSL, aplikasi di WSL secara otomatis merutekan lalu lintas mereka melaluinya.
Mulai aplikasi Anda di WSL seperti biasa. Dev Proxy mencegat permintaan HTTPS yang dibuat oleh aplikasi yang menghormati pengaturan proksi.
Penting
Mulai ulang WSL setelah memulai atau menghentikan Proksi Dev
WSL membaca pengaturan proksi Windows saat dimulai. Jika Anda memulai Dev Proxy setelah WSL berjalan, atau jika Anda menghentikan dan memulai ulang Dev Proxy, Anda perlu memulai ulang WSL agar perubahan diterapkan:
wsl --shutdown
Kemudian mulai sesi WSL baru.
Percayai sertifikat di WSL
Agar Dev Proxy mencegat lalu lintas HTTPS, aplikasi di WSL perlu mempercayai sertifikat Dev Proxy. Anda dapat menyalin sertifikat dari Windows atau mengekspornya menggunakan DEV Proxy API.
Opsi A: Salin sertifikat dari Windows
Di WSL, salin sertifikat dari Windows:
cp "/mnt/c/Users/<your-username>/AppData/Local/Programs/Dev Proxy/rootCert.pfx" ~/Ekspor dan instal sertifikat:
# Export the certificate openssl pkcs12 -in ~/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificates
Opsi B: Gunakan API Proksi Dev
DEV Proxy API memerlukan bearer token. Saat Dev Proxy berjalan di Windows, dapatkan token dengan menjalankan perintah api token di terminal Windows:
devproxy api token
Kemudian, di WSL, unduh dan instal sertifikat. Ganti <token> dengan token yang Anda ambil:
# Download the certificate from Dev Proxy API
curl -H "Authorization: Bearer <token>" -o dev-proxy-ca.crt "http://127.0.0.1:8897/proxy/rootCertificate?format=crt"
# Install the certificate
sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
# Update certificates
sudo update-ca-certificates
Nota
Beberapa aplikasi mungkin memerlukan konfigurasi tambahan untuk mempercayai penyimpanan sertifikat sistem. Untuk aplikasi Node.js, Anda mungkin perlu mengatur NODE_TLS_REJECT_UNAUTHORIZED=0 untuk tujuan pengembangan. Menonaktifkan validasi sertifikat tidak disarankan untuk kode produksi.
Opsi 2: Proksi Dev di dalam WSL
Jika Anda lebih suka menjalankan Dev Proxy sepenuhnya dalam WSL, instal menggunakan metode penginstalan Linux dan konfigurasikan proksi secara manual.
Menginstal Dev Proxy di WSL
Skrip penyiapan mengharuskan unzip untuk mengekstrak Dev Proxy. Distribusi WSL baru, seperti Ubuntu, tidak menyertakannya secara default. Instalasi unzip:
sudo apt update
sudo apt install unzip
Instal Dev Proxy menggunakan skrip penyiapan:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
Mengonfigurasi proksi secara manual
Karena WSL tidak memiliki lingkungan desktop grafis, Dev Proxy tidak dapat secara otomatis mendaftar sebagai proksi sistem. Konfigurasikan aplikasi Anda untuk menggunakan proksi secara manual.
Buat file konfigurasi Proksi Dev dengan
asSystemProxydisetel kefalse:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json", "asSystemProxy": false, "plugins": [ { "name": "RetryAfterPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" }, { "name": "GenericRandomErrorPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "genericRandomErrorPlugin" } ], "urlsToWatch": [ "https://jsonplaceholder.typicode.com/*" ], "genericRandomErrorPlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/genericrandomerrorplugin.schema.json", "errorsFile": "devproxy-errors.json", "rate": 50 }, "logLevel": "information" }Mulai Proksi Dev:
devproxyPercayai sertifikat:
# Export Dev Proxy root certificate openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificatesKonfigurasikan aplikasi Anda untuk menggunakan proksi. Atur
HTTPS_PROXYvariabel lingkungan:export HTTPS_PROXY=http://127.0.0.1:8000Atau tentukan saat menjalankan aplikasi Anda:
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Petunjuk / Saran
Untuk informasi selengkapnya tentang mengonfigurasi proksi untuk aplikasi Node.js, lihat Menggunakan Dev Proxy dengan aplikasi Node.js.
Perbandingan pendekatan
| Fitur | Host Windows (Opsi 1) | Di dalam WSL (Opsi 2) |
|---|---|---|
| Kompleksitas penyiapan | Simple | Menengah |
| Requirements | Windows 11 22H2 atau yang lebih baru, mode jaringan cermin WSL | None |
| Manajemen sertifikat | Penyalinan satu kali dari Windows | Ekspor manual |
| Konfigurasi proksi | Otomatis (Proksi Otomatis WSL) | Panduan (HTTPS_PROXY) |
| Perlu menghidupkan ulang WSL | Iya, saat mengaktifkan atau mematikan proksi | Tidak. |
| Bekerja dengan semua aplikasi WSL | Yes | Bergantung pada dukungan proksi aplikasi |
Untuk sebagian besar skenario, menjalankan Dev Proxy di Windows (Opsi 1) adalah pendekatan yang direkomendasikan karena kesederhanaan dan konfigurasi proksi otomatisnya.
Troubleshooting
Permintaan tidak dicegat saat menggunakan host Windows
Jika Dev Proxy di Windows tidak mencegat permintaan dari WSL:
Verifikasi bahwa
networkingMode=mirroreddanautoProxy=truediatur di bagian[wsl2]dari file.wslconfigAnda. Untuk informasi selengkapnya, lihat Mengonfigurasi jaringan WSL.Mulai ulang WSL untuk menyegarkan pengaturan proksi:
wsl --shutdownVerifikasi Proksi Dev berjalan dan terdaftar sebagai proksi sistem.
Periksa apakah sertifikat Proksi Dev dipercaya di WSL.
unzip: perintah tidak ditemukan
Jika skrip penyiapan gagal dengan kesalahan unzip: command not found, instal unzip dan jalankan skrip penyiapan lagi:
sudo apt update
sudo apt install unzip
Kesalahan sertifikat
Jika Anda melihat kesalahan sertifikat:
- Pastikan Anda menginstal sertifikat di WSL dengan mengikuti langkah-langkah dalam Mempercayai sertifikat di WSL.
- Untuk aplikasi Node.js, Anda mungkin perlu mengonfigurasi aplikasi untuk menggunakan agen proksi. Lihat Menggunakan Dev Proxy dengan aplikasi Node.js.
Masalah jaringan WSL
WSL 2 menggunakan adaptor jaringan virtual. Jika Anda mengalami masalah jaringan:
- Pastikan Firewall Windows Anda mengizinkan Dev Proxy.
- Coba gunakan
localhostalih-alih127.0.0.1saat mengonfigurasi alamat proksi.