Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir bakışta
Hedef: Geliştirme Proxy'sinde tüm sistem trafiğinin mi yoksa yalnızca açıkça yönlendirilen trafiğin mi yakalandığını denetleme
Süre: 5 dakika
Önkoşullar:Geliştirme Ara Sunucusunu Ayarlama
Varsayılan olarak, Geliştirme Proxy'sini başlattığınızda, kendisini sistem proxy'si olarak kaydeder. Sonuç olarak makinenizdeki tüm HTTP/HTTPS trafiği otomatik olarak Dev Proxy üzerinden yönlendirilir. Dev Proxy aracılığıyla tüm trafiğe ara sunucu oluşturma çoğu senaryoda iyi çalışır; Dev Proxy'yi başlatırsınız ve uygulamanızdan gelen istekleri ek yapılandırma olmadan hemen yakalar.
Ancak, Dev Proxy'den geçen trafik üzerinde daha fazla denetim sahibi olmak isteyebileceğiniz durumlar vardır. seçeneği asSystemProxy , otomatik sistem ara sunucusu kaydını devre dışı bırakmanıza olanak tanır ve hangi uygulamaların Dev Proxy kullandığı üzerinde ayrıntılı denetim sağlar.
Sistem proxy kaydı ne zaman devre dışı bırakılır?
Şu durumlarda ayarını asSystemProxy göz false önünde bulundurun:
- Geçersiz kılmak istemediğiniz mevcut ara sunucu ayarlarına sahip bir şirket ağındasınız
- Makinenizde çalışan diğer uygulamaları etkilemeden yalnızca belirli bir uygulamayı test etmek istiyorsunuz
- Dev Proxy trafiğine müdahale ettiğinde diğer uygulamalar başarısız olur (örneğin, Azure İşlevleri)
- Birden çok Dev Proxy örneği çalıştırıyorsunuz ve trafiği belirli örneklere yönlendirmek istiyorsunuz
- Sistem hizmetleri ve arka plan işlemleriyle müdahaleyi en aza indirmek istiyorsunuz
Sistem proxy'si seçeneğini yapılandırma
Seçeneğini iki şekilde yapılandırabilirsiniz asSystemProxy : yapılandırma dosyasını veya komut satırını kullanma.
Yapılandırma dosyası
Sistem ara sunucusu kaydını kalıcı olarak devre dışı bırakmak için ayarı yapılandırma dosyanıza ekleyin asSystemProxy .
Dosya:devproxyrc.json
Amaç: Otomatik sistem proxy kaydını devre dışı bırakma
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Komut satırı
Tek bir oturumda sistem proxy kaydını devre dışı bırakmak için seçeneğini kullanın --as-system-proxy .
devproxy --as-system-proxy false
Trafiği Dev Proxy'ye el ile yönlendirme
Sistem ara sunucusu kaydını devre dışı bırakdığınızda, uygulamalar trafiğini Otomatik Olarak Dev Proxy üzerinden yönlendirmez. Her uygulamayı Dev Proxy'yi açıkça kullanacak şekilde yapılandırmanız gerekir.
Ortam değişkenlerini kullanma
Trafiği Dev Proxy'ye yönlendirmenin en yaygın yolu ortam değişkenini HTTPS_PROXY ayarlamaktır.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Komut İstemi:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Tavsiye
Bazı uygulamalar ortam değişkenini HTTP_PROXY de destekler. Uygulamanız hem HTTP hem de HTTPS isteklerinde bulunursa her ikisini de ayarlayın.
Dile özgü yapılandırma
Farklı programlama dillerinin ve çerçevelerinin proxy'leri yapılandırmak için kendi yöntemleri vardır:
- Node.js:Genel aracı paketini kullanma veya HTTP aracısını doğrudan yapılandırma
-
.NET: Ortam değişkenini
HTTPS_PROXYayarlayın veya bir ara sunucuyla yapılandırınHttpClient(bkz. .NET uygulamalarıyla Geliştirme Proxy'si kullanma) -
Azure İşlevleri: içinde
local.settings.jsonara sunucuyu yapılandırma (bkz. .NET Azure İşlevleri ile Geliştirme Proxy'si kullanma)
Örnek: Başlatmayı engellemeden Azure İşlevlerini test etme
Azure İşlevleri, iç iletişim için gRPC kullanır. Bu, Dev Proxy sistem proxy'si olarak kaydedildiğinde başarısız olur. Dev Proxy'yi Azure İşlevleri ile kullanmak için sistem ara sunucusu kaydını devre dışı bırakın ve ortam değişkenleri aracılığıyla ara sunucuyu yapılandırın.
Dosya:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Dosya:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Bu yapılandırmayla, izlenen URL'lere yönelik HTTP istekleriniz Dev Proxy aracılığıyla yönlendirilirken Azure İşlevleri normal şekilde başlar.
Örnek: Diğer uygulamaları etkilemeden bir uygulamayı test etme
Aynı anda birden çok uygulama geliştirirken, Dev Proxy'yi bunlardan yalnızca biriyle kullanmak isteyebilirsiniz. Sistem ara sunucusu kaydını devre dışı bırakın ve ortam değişkenini yalnızca hedef uygulama için ayarlayın.
Sistem proxy kaydını yapmadan Geliştirme Proxy'sini başlatın
devproxy --as-system-proxy false
Ayrı bir terminalde, uygulamanızı proxy'nin yapılandırıldığı şekilde çalıştırın:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Makinenizdeki diğer uygulamalar herhangi bir ara sunucu girişimi olmadan normal şekilde çalışmaya devam eder.
Birden çok Dev Proxy örneği çalıştırma
asSystemProxy değerini false olarak ayarladığınızda, aynı anda birden çok Dev Proxy instance'ı çalıştırabilirsiniz. Her örnek kendi bağlantı noktasında dinler ve örnek başına durum dosyalarını kullanarak kendi durumunu izler.
Birden çok örneği başlatma
Her örneği farklı bir bağlantı noktasında başlatın:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
Başka bir terminalde:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Çalışan örneklerin durumunu denetleme
Çalışan tüm örnekleri görmek için komutunu status kullanın:
devproxy status
Belirli bir örneği durdurma
Belirli bir örneği hedeflemek için stop komutunu --pid seçeneği ile kullanın:
devproxy stop --pid 6456
Çalışan tüm örnekleri durdurmak için:
devproxy stop
Belirli bir örnekteki günlükleri görüntüleme
--pid komutunu kullanarak logs seçeneğini kullanın:
devproxy logs --pid 6456
Uyarı
Aynı anda sistem proxy'si olarak yalnızca bir Dev Proxy örneği kaydedilebilir. Başka bir sistem ara sunucusu örneği zaten çalışıyorken, asSystemProxy olarak ayarlanmış yeni bir true örneği başlatmayı denerseniz, Dev Proxy başlatmayı engeller.