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: Menginstal Dev Proxy di kontainer dev atau GitHub Codespaces
Waktu: 10 menit
Prasyarat: Proyek dengan filedevcontainer.json, Docker, atau GitHub Codespaces
Jika Anda mengembangkan dalam kontainer dev atau di GitHub Codespaces, Anda dapat menginstal Dev Proxy dengan menggunakan Dev Proxy Dev Container Feature. Fitur menginstal Dev Proxy dalam kontainer dan, setelah kontainer dibuat, menghasilkan sertifikat akar Dev Proxy yang unik untuk kontainer dan mempercayainya. Anda tidak perlu mengikuti langkah-langkah saat pertama kali menjalankan aplikasi untuk memercayai sertifikat sendiri.
Menambahkan Fitur Dev Proxy ke kontainer dev Anda
Untuk menginstal Dev Proxy di kontainer dev Anda, tambahkan Fitur Dev Proxy ke bagian features dari file .devcontainer/devcontainer.json Anda:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {}
}
}
Bangun ulang kontainer, atau buat codespace baru, untuk menerapkan perubahan. Setelah kontainer dimulai, verifikasi bahwa Dev Proxy diinstal:
devproxy --version
Note
Fitur ini memiliki versi terpisah dari Dev Proxy.
ghcr.io/dotnet/dev-proxy/dev-proxy:1 mengacu pada versi 1 dari Feature. Untuk memilih versi Dev Proxy mana yang akan diinstal, gunakan opsi version.
Konfigurasikan Fitur
Fitur ini mendukung opsi berikut:
| Opsi | Description | Type | Default |
|---|---|---|---|
version |
Versi Dev Proxy untuk menginstal: latest, beta, atau versi tertentu seperti 4.0.0 atau v4.0.0. |
string | latest |
trustCertificate |
Setelah kontainer dibuat, buat sertifikat akar Dev Proxy yang unik untuk kontainer dan tambahkan ke daftar tepercaya sistem serta untuk runtime umum. | boolean | true |
Misalnya, untuk menginstal versi Dev Proxy tertentu, gunakan konfigurasi berikut:
{
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {
"version": "4.0.0"
}
}
}
Untuk mencoba fitur pratinjau terbaru, atur version ke beta. Saat Anda menginstal versi beta, Fitur juga menambahkan devproxy-beta perintah .
Jika Anda menggunakan Dev Proxy dalam konfigurasi kontainer dev bersama, pertimbangkan untuk menyematkan Dev Proxy ke versi tertentu, bukan latest atau beta. Dengan cara ini, Anda memastikan bahwa semua orang yang mengerjakan proyek menggunakan versi Dev Proxy yang sama.
Cara Fitur menangani sertifikat akar
Dev Proxy menggunakan sertifikat akar untuk mendekripsi lalu lintas HTTPS. Fitur tidak menghasilkan sertifikat saat membuat image. Jika ya, sertifikat dan kunci privatnya akan berakhir di lapisan gambar, dan semua orang yang menggunakan gambar atau prebuild Codespaces yang sama akan berbagi otoritas sertifikat tepercaya yang sama.
Sebagai gantinya, setelah kontainer dibuat (postCreateCommand), Fitur:
- Menjalankan
devproxy cert ensuresebagai pengguna jarak jauh untuk menghasilkan sertifikat akar yang unik untuk kontainer. - Menambahkan sertifikat ke penyimpanan sertifikat sistem (
/usr/local/share/ca-certificates), sehingga curl, .NET, dan alat lain yang menggunakan penyimpanan sistem mempercayainya.
Beberapa runtime tidak menggunakan penyimpanan sertifikat sistem, sehingga Fitur mengatur variabel lingkungan berikut untuk mengarahkannya ke bundel CA sistem (/etc/ssl/certs/ca-certificates.crt):
| Variabel | Digunakan oleh |
|---|---|
NODE_EXTRA_CA_CERTS |
Node.js |
REQUESTS_CA_BUNDLE |
Python requests |
SSL_CERT_FILE |
Python dan alat berbasis OpenSSL lainnya |
Untuk mempercayai sertifikat, Fitur menginstal skrip pembantu milik root dan memungkinkan pengguna jarak jauh untuk menjalankannya dengan sudo tanpa kata sandi. Jika Anda tidak ingin Fitur menghasilkan dan mempercayai sertifikat, atur trustCertificate ke false:
{
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {
"trustCertificate": false
}
}
}
Important
Fitur tidak mengonfigurasi keystores Java, sehingga aplikasi Java tidak mempercayai sertifikat akar Proksi Dev.
Python 3.13 dan yang lebih baru mengaktifkan verifikasi sertifikat yang ketat, yang menolak sertifikat yang dibuat oleh Dev Proxy v3 dan sebelumnya untuk host yang dicegat. Untuk memanggil API melalui Dev Proxy dari Python 3.13 atau yang lebih baru, gunakan Dev Proxy v4 atau yang lebih baru.
Menggunakan Dev Proxy di kontainer dev
Fitur tidak memulai Dev Proxy, dan tidak mengatur variabel lingkungan HTTP_PROXY atau HTTPS_PROXY untuk seluruh kontainer. Variabel proksi di seluruh kontainer akan merutekan manajer paket, git, dan lalu lintas VS Code sendiri melalui Dev Proxy, yang membuat semuanya tidak berfungsi saat Dev Proxy tidak berjalan.
Untuk menggunakan Dev Proxy, mulai jalankan Dev Proxy di terminal di kontainer dev dengan file konfigurasi Anda:
devproxy --config-file .devproxy/devproxyrc.json
Kemudian, konfigurasikan aplikasi yang Anda uji untuk menggunakan Dev Proxy. Misalnya, untuk merutekan permintaan dari aplikasi Node.js melalui Dev Proxy, mulai aplikasi dengan variabel lingkungan HTTPS_PROXY:
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Untuk informasi selengkapnya tentang mengonfigurasi aplikasi Anda untuk menggunakan Dev Proxy, lihat panduan untuk tumpukan Anda, seperti Menggunakan Dev Proxy dengan aplikasi Node.js atau Menggunakan Dev Proxy dengan aplikasi .NET.
Dev Toolkit Proksi
Fitur menambahkan ekstensi Dev Proxy Toolkit ke VS Code di kontainer pengembangan. Jika Anda tidak ingin menginstal ekstensi, kecualikan ekstensi tersebut dalam file devcontainer.json Anda:
{
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {}
},
"customizations": {
"vscode": {
"extensions": ["-garrytrinder.dev-proxy-toolkit"]
}
}
}
Gambar yang didukung
Fitur ini mendukung image berbasis Debian dan Ubuntu pada x64 dan arm64. Alpine dan image berbasis musl lainnya tidak didukung.